MSSQL更新查询将结果显示到网格

时间:2011-05-10 13:42:20

标签: sql sql-server sql-server-2008

我有一个SQL查询,它根据对另一个表中记录的连接更新一个表中的ID。问题是由于某些原因我不理解更新查询实际上是在查询中将结果显示在SSMS中的网格上。这导致我的机器出现“Out of Memory Exception”,因为它试图在网格中显示100万+结果。有趣的是,除了更新的记录数之外,查询不应显示任何内容。我有什么想法吗?

以下是我的查询示例:

UPDATE MyDatabase.dbo.Notes
   SET ParentID = A.ID
  FROM MyDatabase.dbo.Notes N
  JOIN MyDatabase.dbo.Actions A ON N.OldID = A.OldID
 WHERE A.OldID IS NOT NULL
   AND N.OldID IS NOT NULL
   AND N.ParentID IS NULL

2 个答案:

答案 0 :(得分:1)

问题中列出的代码不会导致SSMS中的网格输出

  • 仔细检查您粘贴的内容实际上是您的确切查询
    • 有时额外的代码可以隐藏在首屏
  • 检查所涉及的任何表格的触发器

答案 1 :(得分:1)

显然有一个更新触发器,其中包含一个select语句。我禁用了触发器,查询立即运行。