SQL Server 2000: «подзапрос возвратил более одного значения» в операторе обновления - PullRequest
2 голосов
/ 29 сентября 2008

Я пытаюсь сделать простое обновление. Я делал такие вещи тысячи раз.

update articles
set department = 60
where type = 'Top Story'

Сегодня я получаю странную ошибку.

Ошибка описания: не удалось получить план выполнения: подзапрос вернул больше чем 1 значение. Это не разрешено когда подзапрос следует =,! =, <, <= ,>,> = или когда используется подзапрос как выражение.

Предупреждения: ---> W (1): заявление было прекращено. <--- </p>

1559 записей затронут

В операторе обновления нет подзапроса. Что происходит?

1 Ответ

18 голосов
/ 29 сентября 2008

Скорее всего, в таблице есть триггер, и ошибка возникает в триггере, а не в вашем фактическом операторе SQL.

Я бы также поспорил, что триггер предполагает, что для вставки или удаления специальных таблиц всегда будет только одна строка (что на самом деле не так в массовых обновлениях, как та, которую вы выполняете), что вызывает проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...