That didn't work for me:

ERROR:  syntax error at or near "$"
LINE 1: ...ibute_id, set_id ) (select $."151", '...


>Пятница,  8 апреля 2016, 17:25 +03:00 от Pavel Stehule 
><pavel.steh...@gmail.com>:
>
>Hi
>
>2016-04-08 16:17 GMT+02:00 nummervet nummervet  < nummer...@mail.ru > :
>>Hello. Didn't find dedicated plpgsql list, so decided to post question here.
>>I am trying to create a  function that will pick up some values from cursor 
>>and execute them as a dynamic query.
>>However, once i use EXECUTE, its seems to be ignoring the existence of cursor 
>>and try to pick up values from table.
>>Basically:
>>
>>insert into mytable ( value, attribute_id, set_id ) (select rec."151", '201', 
>>'1') 
>>
>>works, but 
>>
>>execute 'insert into mytable ( value, attribute_id, set_id ) (select 
>>rec."151", ''201'', ''1'')'
>
>Dynamic queries are executed in own space and there are not direct access to 
>plpgsql variables. 
>
>please, try: execute 'insert into mytable ( value, attribute_id, set_id ) 
>(select $1."151", ''201'', ''1'')' using rec;
>
>The content should be passed to dynamic query via USING clause.
>
>http://www.postgresql.org/docs/current/static/plpgsql-statements.html#PLPGSQL-STATEMENTS-EXECUTING-DYN
>
>Regards
>
>Pavel Stehule
> 
>>
>>fails with 
>>
>>ERROR:  missing FROM-clause entry for table "rec"
>>LINE 1: ...ibute_id, set_id ) (select rec."151",...
>>
>>Is there any way around it? Or should i just give up and do it some other way?
>>
>

Reply via email to