Hello,
Is it possible to pass the name of the table to update to a given function ?
For example, how can I do something like:
CREATE FUNCTION compute_ipaddr(CHARACTER VARYING, INET)
AS $_$
DECLARE
tbl_name ALIAS FOR $1;
module_ipaddr ALIAS FOR $2;
BEGIN
UPDATE tbl_name SET ipaddr = module_ipaddr ....
END;
$_$
LANGUAGE PLPGSQL;
Since this does not work, I have to do
IF tbl_name = 'controller' THEN
UPDATE controller SET ipaddr = module_ipaddr ...
ELSE IF tbl_name = 'server' THEN
UPDATE server SET ipaddr = module_ipaddr ...
[ ...]
Is there a technique to pass the table name and so make the code more
generic ?
Thanks for your help
Vincent