我们在postgres database.t1,t2,t3,t4,t5,t,t7中有七个表每个表包含具有重复product_id编号的各种列
product_id号存在于每个表中。这意味着
t1 --> 123(product_id)
t1 --> 123(with various other column data)
t2 --> 123 upto t7
这个“123”产品ID将存在于每个表中,直到t7。此外,该表将具有多个相同的product_ids。
目前的要求是处理我服务器中的所有product_id,我需要创建具有唯一产品ID的中间表。
每当我更新表(t1..t7)时,必须触发中间表更新。
EDIT1 : 必须通过将所有七个表组合在一起来生成中间视图。
当我再次从csv / (从csvpath复制tablename ...)向这七个表中导入更多行时。中间视图也需要通过触发器方法计算和更新< / p>
因为这是频繁的操作。从csv更新表并再次计算和更新中间视图。
那么,如何通过从csv导入更新七个表来编写触发器?
答案 0 :(得分:1)
不要创建表,创建从这些表中选择的视图。
create or replace view all_product_ids
as
select product_id
from t1
union
select product_id
from t2
union
... you get the picture ...
完成后,重新考虑数据库模型。通过您提供的小信息,确实听起来您的模型并不理想。
答案 1 :(得分:0)
查看PL/pgSQL triggers上的PostgreSQL文档,尤其是this example,您的活动看起来很相似。