Search Postgresql Archives

Re: Dynamic binding issue

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 6/12/23 15:13, Lorusso Domenico wrote:
Hello guys,
I'm a problem with dynamic sql.
I am trying to write a generic function that is able to read and update a table based on some data coming from e previous record.
Here the example
_sqlStr=format('select *
   from  %1$s.%2$s
  where (' || array_to_string(_activeRec.pk_columns_list, ',') || ') in (select ' ||   'row($1[''' || array_to_string(_activeRec.pk_columns_list, '''],$1[''') || ''']))'
   , _activeRec.name_of_schema, _activeRec.main_table);

execute _sqlStr using oldRec into _rec;

My problem is oldRec is a type record, so the substitution performed by execute fails, because it can't recognize the field if the variable is record and not a specific composite record type.

Why not use a row type?:

https://www.postgresql.org/docs/current/plpgsql-declarations.html#PLPGSQL-DECLARATION-ROWTYPES


I suppose this is a recurrent question, but I can't find a solution...

--
Domenico L.

--
Adrian Klaver
adrian.klaver@xxxxxxxxxxx






[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]

  Powered by Linux