Re: Dynamic binding issue
От | Adrian Klaver |
---|---|
Тема | Re: Dynamic binding issue |
Дата | |
Msg-id | 6cef623d-782c-913b-7c9e-6e9be3b0e6d8@aklaver.com обсуждение исходный текст |
Ответ на | Dynamic binding issue (Lorusso Domenico <domenico.l76@gmail.com>) |
Ответы |
Re: Dynamic binding issue
|
Список | pgsql-general |
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@aklaver.com
В списке pgsql-general по дате отправления: