sql 错误error 7306

 

 

Code
服务器: 信息 
7306 、 级别  16 2 ,状态行  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/archive/2009/03/18/1415057.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值