Re: Nested-Internal Functions

Поиск
Список
Период
Сортировка
От David G. Johnston
Тема Re: Nested-Internal Functions
Дата
Msg-id CAKFQuwZOLH7s+sRtO8s3Ptu=TEKtjNM0OYLaJWEMQCxUKuMXkQ@mail.gmail.com
обсуждение исходный текст
Ответ на Nested-Internal Functions  ("Rossana Ocampos" <rocampos@bry-it.com>)
Список pgsql-general
On Tuesday, January 16, 2024, Rossana Ocampos <rocampos@bry-it.com> wrote:

Hello ,

I have a query about creating nested functions in PostgreSQL.

I am currently using PostgreSQL 15 and I am trying to create a nested function with the following structure:

CREATE OR REPLACE FUNCTION external_function ()

RETURNS void AS $$

DECLARE

external_variable;

   

    -- Define the internal function

    FUNCTION internal_function ()

    RETURNS void AS $$

    DECLARE

        internal_variable INT;

    BEGIN

        -- Internal function code

        internal_variable:= 10;

        RAISE NOTICE 'Internal Variable: %', internal_variable;

    END;

    $$ LANGUAGE plpgsql;

BEGIN

    -- External function code

    external_variable:= 5;

    RAISE NOTICE 'External variable: %', external_variable;

 

    -- Call internal function

    PERFORM internal_function ();

END;

$$ LANGUAGE plpgsql;

 

However, I get an error, and I can't compile the function.

Thank you very much for your help


You did nested dollar quoting wrong; and I don’t see the word create where you try to define the function inside the outer function.

You are probably better off just defining two functions independently anyway, there is minimal benefit to having on function define another in PostgreSQL, there are no closures.

David J.
 

В списке pgsql-general по дате отправления:

Предыдущее
От: Raul Giucich
Дата:
Сообщение: Re: postgres sql assistance
Следующее
От: Rob Sargent
Дата:
Сообщение: Re: postgres sql assistance