![]() | |
![]() |
| | Thread Tools | Display Modes |
#1
| |||
| |||
|
#2
| |||
| |||
|
|
I'm sure I saw something like this on the postgresql web site but the the search function is down in the documentation area. I'm unable to pass a function arguments in a CREATE TRIGGER statement. What am I doing wrong here? CREATE FUNCTION pregs_func (VARCHAR(15)) RETURNS trigger LANGUAGE plpgsql AS ' DECLARE trigger_type ALIAS FOR $1; BEGIN IF trigger_type = ''insert'' THEN ... END IF; END; '; CREATE TRIGGER pregs_insert_trigger AFTER INSERT ON pregs FOR EACH ROW EXECUTE PROCEDURE pregs_func('insert'); CREATE TRIGGER pregs_update_trigger AFTER UPDATE ON pregs FOR EACH ROW EXECUTE PROCEDURE pregs_func('update'); The CREATE TRIGGER statements return: ERROR: CreateTrigger: function pregs_func() does not exist I tried doing variations on: create trigger pregs_insert_trigger after insert on pregs for each row execute procedure pregs_func (cast('insert' as varchar(15))); thinking that I don't have the right function because the datatypes don't match, but I get: ERROR: parser: parse error at or near "cast" at character 106 PostgreSQL 7.3. Thanks, Karl <kop (AT) meme (DOT) com Free Software: "You don't pay back, you pay forward." -- Robert A. Heinlein ---------------------------(end of broadcast)--------------------------- TIP 8: explain analyze is your friend |
#3
| |||
| |||
|
|
CREATE TRIGGER pregs_insert_trigger AFTER INSERT ON pregs FOR EACH ROW EXECUTE PROCEDURE pregs_func('insert'); CREATE TRIGGER pregs_update_trigger AFTER UPDATE ON pregs FOR EACH ROW EXECUTE PROCEDURE pregs_func('update'); |
![]() |
| Thread Tools | |
| Display Modes | |
| |