【发布时间】:2019-07-09 05:52:22
【问题描述】:
我想从我的表中删除一些数据,所以编写一个查询来删除它。所以首先我选择了我想使用这个查询删除的数据,它显示了正确的数据
select * from PATS.Discipline where Code like '%DHA-DIS%'
然后我使用相同的 where 条件编写删除,但它不起作用
DELETE FROM PATS.Discipline WHERE Code LIKE '%DHA-DIS%'
2019 年 10 月 15 日更新
我今天尝试了同样的场景,我将 5000 条记录导入到表中,并尝试使用相同的查询删除这 5000 条记录,令人惊讶的是它正在工作。我尝试了这两种情况 1.数据没有任何外键存在,它工作正常。这是屏幕截图
这两种情况现在都在工作,我不知道那天 SQL server 发生了什么
【问题讨论】:
-
不工作是什么意思?是否抛出任何错误
-
你需要给我们一个可重现的例子来在这里工作。如果第一次选择返回记录,那么第二次删除应该是删除一些东西。
-
你确定你的命令连接的是同一个数据库吗?
-
检查表上是否存在触发器以及它们的作用
-
还有其他应用程序在使用这个表吗?也许在 Visual Studio 的调试会话中?如果另一个应用程序正在使用这个表,那么我可以在这个表上加一个锁,在这种情况下,你的删除语句将不得不等到这个锁被终止
标签: sql sql-server