Я использую ASP Net Core API REST и Angular 8. Когда я делаю вставку с переменной "@QTCONTADA", триггер использует это значение для вычитания со значением "@SALDOATUAL", затем он вставляет сумму между этими значениями. Выдает ошибку «Подзапрос возвратил более 1 значения. Это недопустимо, если подзапрос следует =,! =, <, <=,>,> = Или когда подзапрос используется в качестве выражения.»
ALTER TRIGGER [dbo].[TRIGGERACERTOESTOQUE]
ON [dbo].[ACERTOESTOQUE]
AFTER INSERT, UPDATE
AS
BEGIN
DECLARE @IDITEMESTOQUE AS INT
DECLARE @SALDOATUAL AS INT
DECLARE @QTCONTADA AS INT
DECLARE @SALDOSUBTRAIDO AS INT
SELECT @IDITEMESTOQUE = ID_ItemEstoque,
@QTCONTADA = QT_Contagem
FROM INSERTED
SET @SALDOSUBTRAIDO = @QTCONTADA - (SELECT QT_SaldoAtual
FROM ITENSESTOQUE)
SELECT @SALDOATUAL = (SELECT QT_SaldoAtual
FROM ITENSESTOQUE)
IF @QTCONTADA > @SALDOATUAL
BEGIN
UPDATE ITENSESTOQUE
SET QT_SaldoAtual = QT_SaldoAtual + @SALDOSUBTRAIDO
WHERE @IDITEMESTOQUE = ID_ItemEstoque
END
ELSE
BEGIN
UPDATE ITENSESTOQUE
SET QT_SaldoAtual = QT_SaldoAtual - @SALDOSUBTRAIDO
WHERE @IDITEMESTOQUE = ID_ItemEstoque
END
END