blob: 8ad5f7af14c9615a13be33d21ecf0525a2d687d4 [file]
CREATE EXTENSION plsample;
-- Create and test some dummy functions
CREATE FUNCTION plsample_result_text(a1 numeric, a2 text, a3 integer[])
RETURNS TEXT
AS $$
Example of source with text result.
$$ LANGUAGE plsample;
SELECT plsample_result_text(1.23, 'abc', '{4, 5, 6}');
NOTICE: source text of function "plsample_result_text":
Example of source with text result.
NOTICE: argument: 0; name: a1; value: 1.23
NOTICE: argument: 1; name: a2; value: abc
NOTICE: argument: 2; name: a3; value: {4,5,6}
plsample_result_text
---------------------------------------
+
Example of source with text result.+
(1 row)
CREATE FUNCTION plsample_result_void(a1 text[])
RETURNS VOID
AS $$
Example of source with void result.
$$ LANGUAGE plsample;
SELECT plsample_result_void('{foo, bar, hoge}');
NOTICE: source text of function "plsample_result_void":
Example of source with void result.
NOTICE: argument: 0; name: a1; value: {foo,bar,hoge}
plsample_result_void
----------------------
(1 row)
CREATE FUNCTION my_trigger_func() RETURNS trigger AS $$
if TD_event == "INSERT"
return TD_NEW
elseif TD_event == "UPDATE"
return TD_NEW
else
return "OK"
end
$$ language plsample;
CREATE TABLE my_table (num integer, description text);
CREATE TRIGGER my_trigger_func BEFORE INSERT OR UPDATE ON my_table
FOR EACH ROW EXECUTE FUNCTION my_trigger_func();
CREATE TRIGGER my_trigger_func2 AFTER INSERT OR UPDATE ON my_table
FOR EACH ROW EXECUTE FUNCTION my_trigger_func(8);
INSERT INTO my_table (num, description)
VALUES (1, 'first');
NOTICE: source text of function "my_trigger_func":
if TD_event == "INSERT"
return TD_NEW
elseif TD_event == "UPDATE"
return TD_NEW
else
return "OK"
end
NOTICE: trigger name: my_trigger_func
NOTICE: trigger relation: my_table
NOTICE: trigger relation schema: public
NOTICE: triggered by INSERT
NOTICE: triggered BEFORE
NOTICE: triggered per row
NOTICE: source text of function "my_trigger_func":
if TD_event == "INSERT"
return TD_NEW
elseif TD_event == "UPDATE"
return TD_NEW
else
return "OK"
end
NOTICE: trigger name: my_trigger_func2
NOTICE: trigger relation: my_table
NOTICE: trigger relation schema: public
NOTICE: triggered by INSERT
NOTICE: triggered AFTER
NOTICE: triggered per row
NOTICE: trigger arg[0]: 8
UPDATE my_table
SET description = 'first, modified once'
WHERE num = 1;
NOTICE: source text of function "my_trigger_func":
if TD_event == "INSERT"
return TD_NEW
elseif TD_event == "UPDATE"
return TD_NEW
else
return "OK"
end
NOTICE: trigger name: my_trigger_func
NOTICE: trigger relation: my_table
NOTICE: trigger relation schema: public
NOTICE: triggered by UPDATE
NOTICE: triggered BEFORE
NOTICE: triggered per row
NOTICE: source text of function "my_trigger_func":
if TD_event == "INSERT"
return TD_NEW
elseif TD_event == "UPDATE"
return TD_NEW
else
return "OK"
end
NOTICE: trigger name: my_trigger_func2
NOTICE: trigger relation: my_table
NOTICE: trigger relation schema: public
NOTICE: triggered by UPDATE
NOTICE: triggered AFTER
NOTICE: triggered per row
NOTICE: trigger arg[0]: 8