10 个解决方案
#1
视图里的数据都来自同一个基表的话,是可以修改的,
但如果来自己多表联合,就不能修改
但如果来自己多表联合,就不能修改
#2
视图可以修改数据啊
#3
还有,就算来自同一个表,如果是用Count(),Sum(),vag()这此统计函数计算出来的,也是不能修改的
#4
視圖本來就可以修改數據的,隻是有一些約束,如樓上所說
#5
我的视图是两个表用inner join连的,没有用到聚合函数,这样也能修改吗?
#6
记得以前学FoxPro的时候,老师教我们:查询是不能更改数据的,视图可以修改数据,可能LZ记错了
#7
试图可以;
#8
修改视图时具有下列限制:
n 只要视图有一列不能隐式获取值,你就不能向视图插入数据。如果列允许NULL、有默认值、设置了IDENTITY属性或类型为ROWVERSION,则说明它可以隐式地获取值。
n 如果视图由一个联接查询(join query)定义,UPDATE或INSERT语句只能影响联接的一端。也就是说,INSERT语句必须定义目标列列表,这些列只能属于联接的一端。同样,UPDATE语句修改的列也必须都属于联接的一端。但是,你可以在查询的其他地方(如赋值语句的右端、查询筛选器等)引用任何列。你不能从由联接查询定义的视图中删除数据。
n 不能修改作为计算结果的列。标量表达式和聚合(aggregate)。SQL Server不会尝试改变数据库引擎的计算结果。
n 如果在创建或修改视图时指定了WITH CHECK OPTION选项,与视图的查询筛选器有冲突的INSERT或UPDTE语句将被拒绝。
n 只要视图有一列不能隐式获取值,你就不能向视图插入数据。如果列允许NULL、有默认值、设置了IDENTITY属性或类型为ROWVERSION,则说明它可以隐式地获取值。
n 如果视图由一个联接查询(join query)定义,UPDATE或INSERT语句只能影响联接的一端。也就是说,INSERT语句必须定义目标列列表,这些列只能属于联接的一端。同样,UPDATE语句修改的列也必须都属于联接的一端。但是,你可以在查询的其他地方(如赋值语句的右端、查询筛选器等)引用任何列。你不能从由联接查询定义的视图中删除数据。
n 不能修改作为计算结果的列。标量表达式和聚合(aggregate)。SQL Server不会尝试改变数据库引擎的计算结果。
n 如果在创建或修改视图时指定了WITH CHECK OPTION选项,与视图的查询筛选器有冲突的INSERT或UPDTE语句将被拒绝。
#9
听谁说的?
#10
还是 paoluo(一天到晚游泳的鱼(學習.NET中)) 负责
#1
视图里的数据都来自同一个基表的话,是可以修改的,
但如果来自己多表联合,就不能修改
但如果来自己多表联合,就不能修改
#2
视图可以修改数据啊
#3
还有,就算来自同一个表,如果是用Count(),Sum(),vag()这此统计函数计算出来的,也是不能修改的
#4
視圖本來就可以修改數據的,隻是有一些約束,如樓上所說
#5
我的视图是两个表用inner join连的,没有用到聚合函数,这样也能修改吗?
#6
记得以前学FoxPro的时候,老师教我们:查询是不能更改数据的,视图可以修改数据,可能LZ记错了
#7
试图可以;
#8
修改视图时具有下列限制:
n 只要视图有一列不能隐式获取值,你就不能向视图插入数据。如果列允许NULL、有默认值、设置了IDENTITY属性或类型为ROWVERSION,则说明它可以隐式地获取值。
n 如果视图由一个联接查询(join query)定义,UPDATE或INSERT语句只能影响联接的一端。也就是说,INSERT语句必须定义目标列列表,这些列只能属于联接的一端。同样,UPDATE语句修改的列也必须都属于联接的一端。但是,你可以在查询的其他地方(如赋值语句的右端、查询筛选器等)引用任何列。你不能从由联接查询定义的视图中删除数据。
n 不能修改作为计算结果的列。标量表达式和聚合(aggregate)。SQL Server不会尝试改变数据库引擎的计算结果。
n 如果在创建或修改视图时指定了WITH CHECK OPTION选项,与视图的查询筛选器有冲突的INSERT或UPDTE语句将被拒绝。
n 只要视图有一列不能隐式获取值,你就不能向视图插入数据。如果列允许NULL、有默认值、设置了IDENTITY属性或类型为ROWVERSION,则说明它可以隐式地获取值。
n 如果视图由一个联接查询(join query)定义,UPDATE或INSERT语句只能影响联接的一端。也就是说,INSERT语句必须定义目标列列表,这些列只能属于联接的一端。同样,UPDATE语句修改的列也必须都属于联接的一端。但是,你可以在查询的其他地方(如赋值语句的右端、查询筛选器等)引用任何列。你不能从由联接查询定义的视图中删除数据。
n 不能修改作为计算结果的列。标量表达式和聚合(aggregate)。SQL Server不会尝试改变数据库引擎的计算结果。
n 如果在创建或修改视图时指定了WITH CHECK OPTION选项,与视图的查询筛选器有冲突的INSERT或UPDTE语句将被拒绝。
#9
听谁说的?
#10
还是 paoluo(一天到晚游泳的鱼(學習.NET中)) 负责