1
我想創建一個觸發器,在某種程度上是這樣的:如何將更改的行中的值發送到postgres中的觸發器?
CREATE TRIGGER foo
AFTER UPDATE OR INSERT ON bar
FOR EACH ROW EXECUTE PROCEDURE baz(NEW.id);
與NEW.id的部分不工作。我怎樣才能從更改的行(例如id)發送值到觸發器函數。
我想創建一個觸發器,在某種程度上是這樣的:如何將更改的行中的值發送到postgres中的觸發器?
CREATE TRIGGER foo
AFTER UPDATE OR INSERT ON bar
FOR EACH ROW EXECUTE PROCEDURE baz(NEW.id);
與NEW.id的部分不工作。我怎樣才能從更改的行(例如id)發送值到觸發器函數。
觸發功能(程序)自動知道NEW
和OLD
。無需將這些參數作爲參數傳遞。 閱讀更多的一章中上Trigger Procedures手冊中:
當PL/pgSQL函數被調用作爲觸發,幾個特殊 變量自動在頂層塊創建的。它們是:
新
數據類型是RECORD;變量爲行級觸發器中的INSERT/UPDATE操作保存新的數據庫行。這個變量在語句級觸發器和DELETE操作中是NULL 。