关于一个sql语句问题,在线等

enaking 2017-04-20 04:19:14
我写了一个sql删除语句。如下

delete dbo.bk_Circulate where sync_uid='0001.0006.0004.0199' and barcode between '0072124' and '0072275'


然后报错:
消息 512,级别 16,状态 1,过程 DelCirculation,第 8 行
子查询返回的值不止一个。当子查询跟随在 =、!=、<、<=、>、>= 之后,或子查询用作表达式时,这种情况是不允许的。

如果我把它改成查询语句,又能查出来,这是为什么,求高手


select * from dbo.bk_Circulate where sync_uid='0001.0006.0004.0199' and barcode between '0072124' and '0072275'





...全文
289 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
enaking 2017-04-23
  • 打赏
  • 举报
回复
谢谢各位 ,确实有触发器,如果又不想停止解发器,怎么处理呢
二月十六 版主 2017-04-23
  • 打赏
  • 举报
回复
引用 5楼我是你的主体 的回复:
谢谢各位 ,确实有触发器,如果又不想停止解发器,怎么处理呢
修改触发器内容。
Ginnnnnnnn 2017-04-20
  • 打赏
  • 举报
回复
看下这个是不是视图或者触发器。用profile 跟踪一下就可以了
LongRui888 2017-04-20
  • 打赏
  • 举报
回复
应该是由delete触发器,你可以定位到那个表,看一下是否有触发器
二月十六 版主 2017-04-20
  • 打赏
  • 举报
回复
试试这个。是不是有触发器之类的东西啊
;WITH temc AS (
SELECT  *
FROM    dbo.bk_Circulate
WHERE   sync_uid = '0001.0006.0004.0199'
        AND barcode BETWEEN '0072124' AND '0072275'
)
delete temc
卖水果的net 版主 2017-04-20
  • 打赏
  • 举报
回复
bk_Circulate 这张表上有触发器,你检查一下语法; PS:这个触发器估计只能处理 单条数据删除。

34,588

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧