blob: cf652ad56fe16ec7afaf24ca2a5fe757c9aeec9e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
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}');
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}');
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');
UPDATE my_table
SET description = 'first, modified once'
WHERE num = 1;
|