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

标签 sql sql-server sql-server-2008

我有一个 SQL 查询,它根据与另一表中的记录的联接来更新一个表中的 ID。问题是,由于某种原因,我不明白更新查询实际上是将查询结果显示到 SSMS 中的网格。这导致我的机器上出现“内存不足异常”,因为它试图在网格中显示超过 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

最佳答案

您问题中列出的代码本身不会导致 SSMS 中的网格产生任何输出

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

关于sql - MSSQL 更新查询将结果显示到网格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5951002/

相关文章:

sql - SQL Server中的主键设计

c# - MySqlCommand.ExecuteScalar() 不返回任何内容

sql - SQL Server 如何将行转换为列?

sql - '-' 附近的语法不正确

sql-server - 从 Powershell 调用 TRUNCATE 和 BULK INSERT INTO SQL 命令

php - Cakephp 3 如何使用TestSuite 来测试更新查询?

mysql - 查询以选择在特定时间范围内注册的所有用户

sql-server-2008 - Sqoop进行身份验证但无法启动 map 归约作业

sql-server - 捕获失败的 INSERT 值

c# - MappingException Edm.String 与 SqlServer.varbinary 不兼容