почему я не могу обновить свои значения простым утверждением? - PullRequest
0 голосов
/ 27 марта 2020

Я пытаюсь обновить некоторые значения в своей таблице, но раньше я не видел эту ошибку, почему триггер мешает запросу? Как я мог обновить значения тогда?

Триггер, который мешает, является триггером ПОСЛЕ ОБНОВЛЕНИЯ, и он не имеет никакого отношения к полю "СТРАНА"

UPDATE RM00102
SET COUNTRY = 'United States'
where COUNTRY = 'USA'

ОШИБКА

Сообщение 512, Уровень 16, Состояние 1, Процедура LC_CustHoldStatus, Строка 25 [Стартовая Строка 18] Подзапрос вернул более 1 значения. Это недопустимо, если подзапрос следует =,! =, <, <=,>,> = Или когда подзапрос используется в качестве выражения. Заявление было прекращено. *

1 Ответ

0 голосов
/ 27 марта 2020
AFTER UPDATE

AS



declare @StatusOld as tinyint
declare @StatusNew as Tinyint
declare @CustomerRemoved as nchar(400)
declare @CUstomer nchar(32)
declare @HoldReason as nchar(400)
declare @CustomerHold as nchar(400)


select @StatusOld = hold from Deleted
select @StatusNew = hold from Inserted
select @CustomerRemoved = 'A HOLD was removed for '+rtrim(Custnmbr)+'-'+rtrim(Custname) from inserted
select @customer = (select custnmbr from inserted)
select @HOldReason = (select coalesce([hold status],'') from VWCUSTINFO where [Customer Number]=@CUstomer)

select @CustomerHOld = 'This customer '+rtrim(Custnmbr)+'-'+rtrim(Custname)+' was recently placed on HOLD due to '+@HoldReason from inserted

триггер помещен в другую таблицу, я знаю, что это новичок ie ошибка

...