微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

SQLServer 2008 对视图或函数’XXX’的更新或插入失败,因其包含派生域或常量域解决

环境:sqlServer 2008 R2

问题:对视图或函数’XXX’的更新或插入失败,因其包含派生域或常量域解决

 

 

创建视图命令:

create view D_S_G(sno,avg_grade)
as
select sno,avg(grade)
from SC
group by sno;


 

原因:视图view不允许修改

 

解决:重新创建一个表,结构内容都一样。

 

执行以下命令:

 

--d_s_t是表名,d_s_g是视图名
select * into d_s_t from d_s_g where 1<>1

insert into d_s_t select * from d_s_g

说明:表名(d_s_t)和以前的表名、视图名不一样,因为都是sqlServer对象。

 

解释:因为所创建的视图对其属性值进行了计算的其他形式上的改变,而对视图的更改最终表现为对表的更改而表中不存在视图的某一属性,或属性的性质不相同,则无法更改,这是一种视图机制。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐