2017-07-18 82 views
-2

我是PostgreSQL的新手,所以放轻松点。 我有两个具有相同行数的表。这两个表共享列的属性需要相同。我想要的是当我更新示例表格1的列时,自动更新表格2的列。对不起,我的英语我希望你能理解我的问题。自动更新两张表

+0

您应该使用Trigger-'AFTER INSERT ON example_table_1'。如果您将发布表格结构并解释您的确切需求,您将得到更有帮助的答案。 –

+0

您可以了解更多关于触发器[这里](https://www.postgresql.org/docs/current/static/plpgsql-trigger.html) – Sevanteri

+0

请** [编辑] **您的问题,并添加一些示例数据和基于该数据的预期输出。 [**格式化文本**](http://stackoverflow.com/help/formatting)请,[**没有屏幕截图**](http://meta.stackoverflow.com/questions/285551/why-may -i-不上传图像-的代码上那么当灰化-A-问题/ 285557#285557)。 ** [**]您的问题 - 请勿**在论坛中发布代码或其他信息。 –

回答

1

正如在评论中提到的那样,您可以创建一个触发器,在更新表1时更新表2。

但我会说,你应该摆脱首先导致问题的数据冗余。而不是存储数据两次,只存储一次(可能在第三个表中),并用外键引用数据而不是复制它们。

如果去掉冗余的,你有几个优点:

  1. 更少的存储空间使用。

  2. 数据修改时工作量减少。

  3. 数据不会变得不一致,如果只修改其中一个副本,会发生这种情况。

+0

它背后的想法是,我想从这个表中创建一个应用程序,我不能使用表1的例子,因为我不想在我的应用程序中包含其他数据。这就是为什么我想某些列在表复制2. 例 表1 标识 名称 姓 生日 表2 编号 名称 姓 –