使用从postgreSQL中的视图获取的数据写入多个表?
我是SQL新手,我有一个需要清理的大型数据库。其格式化方式如下:每个表都有一列包含ID号,第二列包含其他类型的信息,如使用从postgreSQL中的视图获取的数据写入多个表?,sql,postgresql,postgresql-9.1,Sql,Postgresql,Postgresql 9.1,我是SQL新手,我有一个需要清理的大型数据库。其格式化方式如下:每个表都有一列包含ID号,第二列包含其他类型的信息,如 姓名:ID#姓名 电子邮件:ID#电子邮件 电话:ID#电话 注:ID#注 我有一个视图,它显示了所有这些表中的信息(在实际的数据库中大约有90个表)和一些代码,这些代码记录了每个“注释”,并将其处理为各个组件。这些注释基本上是所有其他信息的混合体,具有典型的注释阅读: First M. Last, Position Title, Phone 123-456-7890, Ema
DO
触发器(较新的Pg版本)或规则(较旧的版本),您可以写入视图
不过,在这种情况下,我建议您将要更改的视图中的数据提取到一个新表中(unlocked
,如果使用PostgreSQL 9.1+)。然后我会写一系列的更新。。。从
语句中,每个要更新的表对应一条语句,这些语句与变更信息表关联
如果这是不可行的,另一种更慢但更适合分小块完成的方法是使用PL/PgSQL过程,从视图中获取几行或从视图中创建的临时表,在所有关联表中更新它们,再获取几行,然后重复