sql 错误error 7306

 

Code
服务器: 信息 
7306、 级别 162,状态行 4
无法打开表"
database name""dbo""。table name"从 OLE DB 提供程序 SQLOLEDB。 提供程序不支持行查找位置。 提供程序指示与其他属性或要求发生冲突。
[OLE/DB 提供程序返回消息: 多步骤 OLE DB 操作产生错误。 如果可用,请检查每个 OLE DB 状态值中。 不是完成任何工时]。 

以上错误是在对视图进行更新和删除时出的错误

分析视图不能更新,首先检查下视图:
         ⑴若视图是由两个以上基本表导出的,则此视图不允许更新
          ⑵若视图的字段来自字段表达式或常数,则不允许对此视图执行INSERT和UPDATE操作,但允许执行DELETE操作
          ⑶若视图的字段来自集函数,则此视图不允许更新
          ⑷若视图定义中含有GROUP BY子句,则此视图不允许更新
          ⑸若视图定义中含有DISTINCT短语,则此视图不允许更新
              ⑹若视图定义中有嵌套查询,并且内层查询的FROM子句中涉及的表也是导出该视图的基本表,则此视图不允许更新
              ⑺一个不允许更新的视图上定义的视图也不允许更新 
2 检查下联合主键有没有问题,比如说在删除或更新的时候,是不是用到了破坏视图主键索引的地方。 

     例:
Delete from dbo.view where convert(varchar,colum1,111)=@date    colum1为联合主键。这样的话

         对视图进行更新删除时就会出错
原文地址:https://www.cnblogs.com/wequst/p/1415057.html