可以使用单个视图同时将数据插入三个表。 我使用视图从最终用户抽象我的数据库实际表,直接将数据插入其中。 视图将作为我的实际表的保护层。 但我有3个表,并希望在其中插入数据。
但由于视图不能用于修改多个表。那么解决方案是什么?
我是否需要创建3个单独的视图并运行:
Insert into View1 values()
Insert into View2 values()
Insert into View3 values()
答案 0 :(得分:4)
如果您想要从单个视图更新多个表,则可能需要在视图上创建一个或多个* INSTEAD OF
triggers。然后,您可以使用inserted
和deleted
伪表来制作应该应用于每个基表的插入/更新/删除。
*如果您在为视图插入和更新时所做的事情之间存在很多共性,我建议为这两者进行单一触发。如果操作完全不同,我建议将触发器分开。