【发布时间】:2011-03-09 06:46:15
【问题描述】:
是否可以使用单个视图将数据同时插入三个表中。 我正在使用视图从最终用户那里抽象出我的数据库实际表,以直接将数据插入其中。 该视图将充当我实际表的保护层。 但我有 3 个表,想在其中插入数据。
但是由于一个视图不能用于修改多个表。那么有什么解决办法呢?
我是否需要创建 3 个单独的视图并运行:
Insert into View1 values()
Insert into View2 values()
Insert into View3 values()
【问题讨论】:
-
视图可以更新,但有一些限制。我认为您最好将插入逻辑放入存储过程中。
-
@OMG Ponies:亲爱的女士,您的意思是说我将创建一个过程并在其中简单地给出插入查询。就是这样。还是有一些复杂的代码?
-
您提到要插入三个表,因此在存储过程中将是三个 INSERT。如果你需要,它会支持额外的逻辑。
-
@OMG Ponies:另外,对于调解员,我应该使用什么?实际上,我的老板使用 foxpro,为了防止最终用户直接访问实际表,他使用了一个新表作为中介。如果有任何不良影响,那么首先它会发生在中介表上。那么在 sql server 中我应该使用什么?
-
你必须解释你的调解员在做什么
标签: c# sql sql-server sql-server-2005 tsql