哦,天哪!
我有兩個表,第一個(我們稱之爲NameTable)預置了一組值(id,名稱),第二個(ListTable)是空的,但具有相同的列。
現在的問題是:如何將ListTable中的值從NameTable中插入?因此,如果我在NameTable中更改一個名稱,那麼自動更新ListTable中的值。
有沒有插入這個或是否必須以某種特殊的方式創建表?
嘗試瀏覽手冊,但沒有成功:(PostgreSQL:動態行值(?)
0
A
回答
0
嗯......我有點困惑,究竟你想要做什麼或爲什麼,但這裏有一些指向你可能想要採取的事情看看:表繼承,觸發器和規則
postgresql中的表繼承允許一個表共享另一個表的數據,所以,如果你添加一行到基表,它不會顯示在但是如果向繼承的表添加一行,它現在將顯示在兩個表中,並且任一位置的更新都會在兩個表中反映出來。
觸發器允許您設置c在插入,更新或刪除操作發生在表上時將運行的ode。這將允許您添加手動描述的行爲。
規則允許您設置一個規則,該規則將在滿足特定條件時用替代查詢替換匹配查詢。
如果你描述你的問題進一步在你爲什麼要這樣的行爲,可能更容易提出正確的方式去了解的東西:-)
1
的建議使用INSERT ... SELECT是最好的用於在同一數據庫中的表之間移動的方法。
但是,還有另一種方法來處理自動更新要求。
這聽起來像這些都是你的標準:
- 表A與列(X,Y)
- (X,Y)是獨特
- 表B還與列定義(定義X,Y)
- 表A是表B
- 表B的超集是用來裝載從表A的數據和需要與更新要保持同步於表A.
這是與選項ON UPDATE CASCADE外鍵的工作:
ALTER TABLE B ADD FOREIGN KEY (x,y) REFERENCES A (x,y) ON UPDATE CASCADE;
現在,不僅會在表A的更新自動更新表B,表B是對含有保護(X ,y)對不在表A中。如果希望記錄從表B中自表B刪除時自動刪除,請添加「ON UPDATE DELETE」。
相關問題
- 1. 動態SQL PostgreSQL
- 2. PostgreSQL的 - 動態值表名稱
- 3. PostgreSQL的動態SQL查詢執行
- 4. 動態查詢創建和執行PostgreSQL
- 5. postgresql執行動態sql命令
- 6. PostgreSQL的動態SQL查詢
- 7. PostgreSQL動態表訪問
- 8. 如何動態地在PostgreSQL
- 9. postgresql中的動態upsert
- 10. PostgreSQL中的動態限制
- 11. postgresql中的動態數據
- 12. Postgresql generate_series動態區間
- 13. 添加行值動態
- 14. 使用滯後(),用於動態行的PostgreSQL
- 15. jOOQ中的動態運行時PostgreSQL模式選擇
- 16. PostgreSQL的:動態限幅符號數組
- 17. postgresql中的動態條件插入
- 18. PostgreSQL-動態sql裏面的函數?
- 19. Postgresql函數動態表quote_ident錯誤
- 20. postgreSQL中的動態表名9.3
- 21. 動態檢測Postgresql中的角色
- 22. PostgreSQL:將動態ARRAY插入函數
- 23. 遞歸PostgreSQL的動態平均
- 24. PostgreSQL 9.3:動態跨標籤查詢
- 25. PostgreSQL:動態創建結果列
- 26. 在postgresql函數中動態命名錶
- 27. 轉換成PostgreSQL動態查詢
- 28. 動態分配觸發器名稱postgresql
- 29. 創建變量名動態 - PostgreSQL的
- 30. 從動態行獲取動態下拉值
你打算修改「奴隸」表嗎?你確定你不需要一個VIEW? – leonbloy 2010-06-23 20:19:21