postgresql 触发器写法

CREATE
OR REPLACE FUNCTION delete_fdr () RETURNS TRIGGER AS $delete_fdr$
BEGIN
    DELETE
FROM
    OBJECT_CLASSES$
WHERE
   OBJECT_CLASSES$.DataRoom_ID = OLD .DATAROOM_ID ;
END ; $delete_fdr$ LANGUAGE plpgsql;

CREATE TRIGGER FDR_DELETE AFTER DELETE ON FEATURE_DATAROOM$ FOR EACH ROW EXECUTE PROCEDURE delete_fdr ();

CREATE TRIGGER  末尾不能直接掉用SQL 语句必须要函数, 逻辑也是很诡异, 不方便.

CREATE 的FUNCTION  返回值竟然是个TRIGGER  才行

$delete_fdr$ .....    $delete_fdr$   这两个之间的为实际函数逻辑 ,随便你写什么,,不过最好用$$ 括起来

LANGUAGE 指定 函数用什么实现, 据说还能c,tcl其他一堆写法,

postgresql版本为9.6, postgis插件2.14

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章