哦,天哪!
我有两个表,第一个(我们称之为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. postgresql执行动态sql命令
- 2. 如何动态地在PostgreSQL
- 3. postgresql中的动态数据
- 4. postgresql中的动态upsert
- 5. PostgreSQL动态表访问
- 6. 使用滞后(),用于动态行的PostgreSQL
- 7. 动态检测Postgresql中的角色
- 8. PostgreSQL:将动态ARRAY插入函数
- 9. PostgreSQL 9.3:动态跨标签查询
- 10. Postgresql函数动态表quote_ident错误
- 11. PostgreSQL:动态创建结果列
- 12. PostgreSQL的:动态限幅符号数组
- 13. 动态GridView动态行数
- 14. 基于列值动态更新SQLite行
- 15. Mysql执行查询与动态值
- 16. Android动态ListView过滤行值问题
- 17. 动态ngTemplateOutlet值
- 18. 动态K值
- 19. 动态值
- 20. 动态值SQL
- 21. 在PostgreSQL中总结Json行中的值
- 22. 选择行具有撇号值的PostgreSQL
- 23. 寻找行组的最大值POSTGRESQL
- 24. PostgreSQL根据数组值选择行
- 25. 在postgresql中查找行的哈希值
- 26. 动态获取动态对象的值
- 27. 动态多选和动态值
- 28. 将动态值赋给动态对象
- 29. 动态行高
- 30. 动态列/行
你打算修改“奴隶”表吗?你确定你不需要一个VIEW? – leonbloy 2010-06-23 20:19:21