Pass parameters to a TCL function

Started by Josué Maldonadoover 22 years ago3 messagesgeneral
Jump to latest
#1Josué Maldonado
josue@lamundial.hn

Hello list,

I have a tcl trigger function called audit_log(varchar, bpchar), if I
write a trigger in a table

CREATE TRIGGER tg_test
AFTER INSERT OR UPDATE OR DELETE
ON xtable
FOR EACH ROW
EXECUTE PROCEDURE audit_log('xtable','internal');

it gives this error:

ERROR: CreateTrigger: function audit_log() does not exist

I also tried to make a kinda wrapper plpgsql trigger to call the
audit_log function but didn't work, any idea what's wrong?, how do I
pass parameters to a trigger function?

Thanks in advance,

Josue Maldonado.

#2Josué Maldonado
josue@lamundial.hn
In reply to: Josué Maldonado (#1)
Re: Pass parameters to a TCL function

I'm sorry, found my mistake, the way I'm calling the function is wrong
it should be "audit_log" ('xtable','internal'), it works.

Thanks

Josu� Maldonado wrote:

Show quoted text

Hello list,

I have a tcl trigger function called audit_log(varchar, bpchar), if I
write a trigger in a table

CREATE TRIGGER tg_test
AFTER INSERT OR UPDATE OR DELETE
ON xtable
FOR EACH ROW
EXECUTE PROCEDURE audit_log('xtable','internal');

it gives this error:

ERROR: CreateTrigger: function audit_log() does not exist

I also tried to make a kinda wrapper plpgsql trigger to call the
audit_log function but didn't work, any idea what's wrong?, how do I
pass parameters to a trigger function?

Thanks in advance,

Josue Maldonado.

#3Jan Wieck
JanWieck@Yahoo.com
In reply to: Josué Maldonado (#2)
Re: Pass parameters to a TCL function

Josu� Maldonado wrote:

I'm sorry, found my mistake, the way I'm calling the function is wrong
it should be "audit_log" ('xtable','internal'), it works.

Hmmm, that should not work. The function should be declared taking no
arguments and you yet find the arguments from the CREATE TRIGGER in the
Tcl list $args and $1-$n.

Jan

Thanks

Josu� Maldonado wrote:

Hello list,

I have a tcl trigger function called audit_log(varchar, bpchar), if I
write a trigger in a table

CREATE TRIGGER tg_test
AFTER INSERT OR UPDATE OR DELETE
ON xtable
FOR EACH ROW
EXECUTE PROCEDURE audit_log('xtable','internal');

it gives this error:

ERROR: CreateTrigger: function audit_log() does not exist

I also tried to make a kinda wrapper plpgsql trigger to call the
audit_log function but didn't work, any idea what's wrong?, how do I
pass parameters to a trigger function?

Thanks in advance,

Josue Maldonado.

---------------------------(end of broadcast)---------------------------
TIP 2: you can get off all lists at once with the unregister command
(send "unregister YourEmailAddressHere" to majordomo@postgresql.org)

--
#======================================================================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me. #
#================================================== JanWieck@Yahoo.com #