--プロシージャの作成
CREATE OR REPLACE FUNCTION delete_data()
RETURNS "trigger"
AS '
  DECLARE
    Cnt INT4;
  BEGIN
    Cnt := (SELECT COUNT(*) FROM table2 WHERE table2.id = OLD.id);
    IF (Cnt > 0) THEN
      DELETE FROM table2 WHERE table2.id = OLD.id;
    END IF;
    RETURN OLD;
  END;
'
LANGUAGE 'plpgsql';
--トリガーの作成(table1のレコードを削除した後に指定プロシージャを実行)
CREATE TRIGGER delete_data
after delete on table1
for each row
EXECUTE PROCEDURE delete_data();
 
0 件のコメント:
コメントを投稿