Запрос на обновление MSSQL, отображающий результаты в сетке - PullRequest
5 голосов
/ 10 мая 2011

У меня есть SQL-запрос, который обновляет идентификаторы в одной таблице на основе объединения записей в другой таблице.Проблема заключается в том, что по какой-то причине я не понимаю, что запрос на обновление фактически отображает результаты запроса к сетке в SSMS.Это вызывает «Исключение нехватки памяти» на моей машине, потому что он пытается показать более 1 миллиона результатов в сетке.Это интересно, потому что запрос не должен отображать ничего, кроме количества обновленных записей.Есть идеи, что я делаю не так?

Вот пример моего запроса:

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 ]

1 голос
/ 17 мая 2011

Очевидно, есть триггер обновления с оператором select. Я отключил триггер, и запрос запустился мгновенно.

1 голос
/ 14 мая 2011

Код, указанный в вашем вопросе, сам по себе не приведет к выводу в Grid в SSMS

  • Проверьте, что то, что вы вставили, на самом деле ваш точный запрос
    • Иногда дополнительный код может скрываться ниже сгиба
  • Проверить наличие триггеров на любых задействованных таблицах
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...