sample_func() とTabl「sample.sample」
testdb=# \d sample
Table "sample.sample"
Column | Type | Collation | Nullable | Default
--------+---------+-----------+----------+---------
id | integer | | |
name | text | | |
date | date | | |
testdb=# SELECT * FROM sample;
id | name | date
----+------+------------
1 | 木村 | 2017-11-05
2 | 田中 | 2017-11-07
3 | 小林 | 2018-01-28
4 | 沢田 | 2018-02-02
(4 rows)
testdb=# CREATE FUNCTION sample_func() RETURNS TRIGGER AS $$
testdb$# BEGIN
testdb$# RETURN NULL;
testdb$# END;
testdb$# $$ LANGUAGE plpgsql;
CREATE FUNCTION
testdb=# CREATE TRIGGER sample_trg AFTER INSERT ON sample FOR ROW EXECUTE PROCEDURE sample_func();
CREATE TRIGGER
testdb=# INSERT INTO sample VALUES(5, '町野', '2018-05-05');
INSERT 0 1
=# SELECT * FROM sample;
id | name | date
----+------+------------
1 | 木村 | 2017-11-05
2 | 田中 | 2017-11-07
3 | 小林 | 2018-01-28
4 | 沢田 | 2018-02-02
5 | 町野 | 2018-05-05
(5 rows)
〇影響範囲
・FOR [EACH] ROW
対象テーブルの行ごとの更新に対してトリガーを実行します。
・FOR [EACH] STATEMENT(デフォルト)
対象テーブルのSQLごとの更新に対してトリガーを実行します。