Re: SQL function triggers
От | Jan Wieck |
---|---|
Тема | Re: SQL function triggers |
Дата | |
Msg-id | 3DAC626B.4DEB45E8@Yahoo.com обсуждение исходный текст |
Ответ на | SQL function triggers (Brian Blaha <bblaha@umr.edu>) |
Список | pgsql-sql |
Brian Blaha wrote: > > 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 ); If you intend to modify the updated row only with information available in the row itself (as in your example), a BEFORE trigger in PL/pgSQL modifying and returning NEW should get the job done. Jan -- #======================================================================# # It's easier to get forgiveness for being wrong than for being right. # # Let's break this rule - forgive me. # #================================================== JanWieck@Yahoo.com #
В списке pgsql-sql по дате отправления: