【发布时间】:2015-05-18 05:56:52
【问题描述】:
我有这样的看法:
Create View View1
AS
Select F1,F2,0 As F3
From TB1
GO
Update View1 Set F3=1
这些命令会引发此错误:
视图或函数“view1”的更新或插入失败,因为它包含派生或常量字段。
有没有更新“F3”字段的解决方案?
谢谢
【问题讨论】:
-
您需要将该列添加到表中。
-
其实我没有权限向被引用的表中添加列。
-
为什么要更新视图?我认为您必须改变自己的方式并创建新视图或以其他方式使用该视图;)。
-
通过视图进行更新是完全合法的,但您不是在更新视图,而是在更新基础表。
-
@ZohrehTavakoli:我在下面更新了我的答案,包括一个允许您直接在视图上更新的解决方案,但您需要一个额外的表来存储 F3 列的值。
标签: sql-server