PL/PGSQL - dynamic variable names

Поиск
Список
Период
Сортировка
От Ben Carbery
Тема PL/PGSQL - dynamic variable names
Дата
Msg-id BANLkTik2X1u_2mXofk_sRghbXNsEa4by1A@mail.gmail.com
обсуждение исходный текст
Ответы Re: PL/PGSQL - dynamic variable names  (Rob Sargent <robjsargent@gmail.com>)
Список pgsql-general
Hi,

I am trying to EXECUTE .. INTO a variable that I want to be dynamically named.

    stuff := '{a,b,c,d}';

    FOR i IN 1..4 LOOP
        thing := stuff[i];

        -- stuff_a, stuff_b etc are functions - substitution works here
        exec_string := 'SELECT stuff_' || thing || '(''' || arg1 || ''',''' || arg2 || ''');';

        -- thing not substituted
        -- value of thing above is replaced on each iteration rather than assigning result into variables a,b,c,d
        EXECUTE exec_string INTO thing;

    END LOOP;

The variable names always seems to be interpreted literally though. Is there a way to make this work in PL/PGSQL?

Of course it would be nice if EXECUTE supported 'SELECT INTO' :)

cheers,

Ben

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

Предыдущее
От: Rich Shepard
Дата:
Сообщение: Re: DROP TABLE Appears to Fail [SOLVED]
Следующее
От: Rob Sargent
Дата:
Сообщение: Re: PL/PGSQL - dynamic variable names