SQL Server:UPDATE语句无效

时间:2014-01-31 02:35:20

标签: sql sql-server sql-update

在SQL Server 2008 Management Studio中,我运行以下查询:

UPDATE [DatabaseName].[dbo].[Addresses] 
SET Suburb = 'PERTH' 
WHERE Suburb = 'LAUNCESTON'

然后

SELECT TOP 1000 * 
FROM [DatabaseName].[dbo].[Addresses] 
WHERE Suburb = 'LAUNCESTON'

第一个查询告诉我86行受到影响,第二个查询给出了86个结果。我也尝试了以下查询:

SELECT TOP 1000 * 
FROM [DatabaseName].[dbo].[Addresses] with (nolock) 
WHERE Suburb = 'LAUNCESTON'

但它给了我相同的结果。如果我使用SQL Server Management Studio的“编辑前200行”功能,一旦我离开我编辑过的单元格,它就会恢复原状。

发生了什么事?

2 个答案:

答案 0 :(得分:4)

dbo.Addresses表上可能存在阻止更新的触发器。

答案 1 :(得分:0)

有几点想帮助调试这个。

  1. 在地址表中查找可能正在改变预期结果的任何UPDATE触发器(AFTER或INSTEAD OF)。
  2. 在数据库服务器上运行SQL事件探查器跟踪,以便捕获在该端传入的查询。