Обсуждение: new and old as parameter in a function
Hi. I'm having some trouble, and I would like to receive some input by the pg community... I would like to write a failry complex PLPGSQL trigger that calls a secondary function. The trigger calls the function with the NEW record that returns a variable of type RECORD whith the NEW variable modified accordingly to a series of actions. By Reading the documentation, I understand that I can write a PLPGSQL function that receives a parameter of type RECORD, and returns a parameter of type RECORD, and that this function is callable from a Trigger. But: I haven't been able to write what's expressed above... is there somebody that can provide some help and/or some examples? thanks in advance, ===== Riccardo G. Facchini
"Riccardo G. Facchini" <abief_ag_-postgresql@yahoo.com> writes: > By Reading the documentation, I understand that I can write a PLPGSQL > function that receives a parameter of type RECORD, You misread it --- that's not presently supported. regression=# create function foo(record) returns int as ' regression'# begin regression'# return $1.f1; regression'# end' language plpgsql; ERROR: plpgsql functions cannot take type record However you can make a plpgsql function that accepts a parameter of a specific (named) rowtype: regression=# create table fooey(f1 int, f2 text); CREATE TABLE regression=# create function foo(fooey) returns int as ' regression'# begin regression'# return $1.f1; regression'# end' language plpgsql; CREATE FUNCTION regards, tom lane