• 主页
  • 基础类
  • 应用实例
  • 新技术前沿

关于视图更新问题一问

blldw 2004-09-27 10:17:14
举个简单的例子:我又两个基表,信息表,和成绩表,定义如下
信息表: ID (BIGINT, 自动编号)
姓名(varchar)
备注(varchar)

成绩表:ID (BIGINT)
成绩(float)

我建了一个视图,如下:
SELECT dbo.成绩表.成绩, dbo.信息表.*
FROM dbo.成绩表 INNER JOIN
dbo.信息表 ON dbo.成绩表.ID = dbo.信息表.ID

自己瞎编了2个记录,打开视图,想更新一个成绩字段,结果出错了,如下:
insufficient key column information for updating or refreshing.

请问为什么,如何解决!?
...全文
74 点赞 收藏 5
写回复
5 条回复
bernice99 2004年09月28日
为了提高查询性能分割视图通常是一个来自多个表
的结果集但是也正因此而不支持视图更新.

INSTEAD OF 触发器的主要优点是使不可被修改的视图能够支持修改.
就这个意思!
回复 点赞
rouqu 2004年09月28日
总之你这样不能直接更新
要更新的话也要用instead of触发器
回复 点赞
bernice99 2004年09月28日
可以用instead of触发器来更新视图
回复 点赞
yesyesyes 2004年09月28日
视图可以更新,你不能更新可能是因为你的基表无主键或唯一键
回复 点赞
Andy__Huang 2004年09月27日
視圖沒有現實的數據﹐所以不能更新。只有表才能更新。
回复 点赞
发动态
发帖子
MS-SQL Server
创建于2007-09-28

1.4w+

社区成员

25.3w+

社区内容

MS-SQL Server相关内容讨论专区
社区公告
暂无公告