I would like to write a function as a set of SQL statements, and then
use that function
in a trigger. However, since triggers require a return type of opaque,
and SQL functions
cannot return type opaque, this doesn't look possible. Am I missing
something? The SQL
that I would expect to do this is below. Incidentally, on an insert,
would the trigger fire
once, twice, or infinitely?
create table test(
a integer,
b integer
) without oids;
create function test_func( test.a%TYPE )
RETURNS ?????
AS
'update test set b = a where a = $1;'
language SQL
with (isstrict);
create trigger test_trig after update
on test for each row
execute procedure test_func( a );