Re: Parameters from trigger to function.
От | Tom Lane |
---|---|
Тема | Re: Parameters from trigger to function. |
Дата | |
Msg-id | 26953.1087966910@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Parameters from trigger to function. (Vams <vmudrageda@charter.net>) |
Список | pgsql-general |
Vams <vmudrageda@charter.net> writes: > CREATE OR REPLACE FUNCTION id_protect(text) RETURNS TRIGGER AS ' > ... > CREATE TRIGGER protector BEFORE INSERT OR UPDATE ON testing FOR EACH ROW > EXECUTE PROCEDURE id_protect('testing_id_seq'); > ERROR: function id_protect() does not exist > Now, why am I getting that error? Trigger functions *never* take any normal parameters. You can put parameters into the CREATE TRIGGER command, but they are passed via a different mechanism (in plpgsql, it's an array called tg_argv[]). This is a bit weird but I think it goes along well with the fact that triggers get a whole bunch of parameters, and from time to time we add some. We could not do that without breaking every existing user trigger if the parameters were all to be declared as explicit function parameters. See http://www.postgresql.org/docs/7.4/static/plpgsql-trigger.html for more ... regards, tom lane
В списке pgsql-general по дате отправления: