【发布时间】:2015-04-15 10:12:45
【问题描述】:
希望有人可以提供帮助。我有两个表(结构如下):
Table1
DataYear INT Not Null,
ProvId INT Not Null,
LKId INT Not Null,
UpdateTime Datetime2(2) Not Null,
JTimes INT Not Null
Table2
DataYear INT Not Null,
ProvId INT Not Null,
LKId INT Not Null,
UpdateTime Datetime2(2) Not Null,
IsSuspect BIT,
Recs VARCHAR(10)
两个表的 PK 都是前 4 列。该视图将获取表 1 中的所有值以及表 2 中的最后两列。
我想在视图中插入数据并填充两个表格中的所有列。这可能吗?我该怎么做?
希望有人能帮忙
谢谢
亚历克斯
【问题讨论】:
-
您不需要填充视图。
-
没有意义,你将数据插入表中,然后视图读取它们。
-
不允许在可更新视图中修改多个表。参考这个stackoverflow.com/questions/7281054/…
-
你不能插入到一个插入会影响多个表的视图中,就像你不能在一个语句中插入两个表一样。只是一个观察,如果两个表的 PK 相同,为什么需要两个表?为什么不只拥有一个包含 3 个非关键列(JTimes、IsSuspect、Recs)的表?这样您就不会不必要地复制 2 个表中的键列。
-
感谢您的 cmets 家伙...尝试通过它的原因是避免让应用程序人员更改他们的代码。 GarethD - 它是两个表的原因是因为将填充 10 个不同的提要,但其中只有 2 个具有额外的 2 列,因此避免 80% 的数据有 2 个冗余列
标签: sql-server view insert-update