我有一個名爲獎項的表。我如何在PostgreSQL中裝載觸發器,其中表中的每個插入點更新不同的表格?插入觸發器使用PostgreSQL更新另一個表
11
A
回答
4
你想要documenation for PL/PgSQL triggers,其中討論這種情況下。一般的documentation on triggers也可能有用。
您可以使用BEFORE
或AFTER
觸發器。我可能會使用一個AFTER
觸發器,以便我的觸發器可以看到插入行的最終版本。當然你需要FOR EACH ROW
。
3
點擊下面的鏈接,你會得到答案。
http://www.postgresql.org/docs/9.4/static/plpgsql-trigger.html
25
在這裏,我們有一個名爲table1
和table2
兩個表。使用觸發器,我將更新table2
插入table1
。
創建表
CREATE TABLE table1
(
id integer NOT NULL,
name character varying,
CONSTRAINT table1_pkey PRIMARY KEY (id)
)
CREATE TABLE table2
(
id integer NOT NULL,
name character varying
)
觸發功能
CREATE OR REPLACE FUNCTION function_copy() RETURNS TRIGGER AS
$BODY$
BEGIN
INSERT INTO
table2(id,name)
VALUES(new.id,new.name);
RETURN new;
END;
$BODY$
language plpgsql;
的觸發
CREATE TRIGGER trig_copy
AFTER INSERT ON table1
FOR EACH ROW
EXECUTE PROCEDURE function_copy();
+0
在觸發器中函數如何知道從表1插入值?我們不需要在「values(new.id,new.name)」之後寫入「from table1」嗎? –
相關問題
- 1. 使用觸發器插入後更新另一個表?
- 2. 當另一個表插入或更新時,Oracle觸發器更新一個表
- 3. MySql觸發器,在插入時更新另一個表格
- 4. 在使用MySql插入當前表時更新另一個表的觸發器?
- 5. 如何使用更新觸發器更新另一個表?
- 6. 當另一個表被插入或更新時,Postgresql觸發器更新表中的列
- 7. 觸發器更新另一個表
- 8. 觸發器更新另一個表
- 9. SQL觸發器更新另一個表
- 10. 觸發器在更新另一個表時將數據插入到新表中
- 11. PostgreSQL觸發插入或更新
- 12. 檢測插入/更新是否來自另一個觸發器?
- 13. Postgresql:使用觸發器插入記錄
- 14. Oracle在插入另一個表時觸發更新
- 15. 插入,更新觸發器
- 16. 使用觸發器在另一個表中插入記錄
- 17. postgresql插入觸發器
- 18. MySQL的觸發器插入後插入到另一個表
- 19. Cassandra觸發器在更新另一個表時更新表格
- 20. PostgreSQL繼承表和插入觸發器
- 21. 使用觸發器將值更新到另一個表中
- 22. PostgreSQL觸發插入table1中一個新的記錄表2中
- 23. JQuery觸發器 - 單擊一個觸發器應更新另一個觸發器
- 24. 在同一個表上插入觸發器後更新
- 25. 在同一個表中更新/插入觸發器
- 26. SQL Server 2008 - 在插入/更新觸發器,將值複製到另一個表?
- 27. 如何編寫觸發器來插入和更新另一個表格
- 28. SQL Server後更新觸發器更新另一個表
- 29. 創建觸發器更新後更新另一個表
- 30. 更新另一張表後觸發器更新一張表
你能提供一些MOR細節?這個「不同的表格」是一個單獨的,單獨的表格還是多個基於某些獎勵領域價值的表格。 – jcater
http://www.postgresql.org/docs/8.1/static/triggers.html – ertx
@ertx更好地鏈接到/ current/doc而不是/8.1/文檔,這是*非常*過時。 –