PostgreSQL | トリガー(Trigger)の使用例

1. ダミーテーブルを作成する

CREATE TABLE tb_account(uid INT, id TEXT, pw TEXT, register date);

2. UpdateRegister 関数を宣言する

CREATE FUNCTION UpdateRegister() RETURNS OPAQUE AS
$$
DECLARE
BEGIN
    UPDATE tb_account SET register = now() WHERE uid = new.uid;
    RETURN NULL;
END
$$ LANGUAGE 'plpgsql';

3. UpdateRegisterTrigger トリガーを宣言する

CREATE TRIGGER UpdateRegisterTrigger
AFTER INSERT on tb_account
FOR EACH ROW EXECUTE PROCEDURE UpdateRegister();

4. トリガー(Trigger)を使用する

INSERT INTO tb_account(uid, id, pw) VALUES (1, 'james', '007');
INSERT INTO tb_account(uid, id, pw) VALUES (2, 'tomas', '008');
INSERT INTO tb_account(uid, id, pw) VALUES (3, 'suzan', '008');

5. 結果を確認する

SELECT * FROM tb_account;