У меня есть триггер после утверждения элемента, который запускает поиск и добавляет данные в новую таблицу. Теперь я получаю сообщение «Subquery вернул больше, чем 1 значение»
Я прочитал другие ответы, но ничего, что не решает проблему в целом ... поэтому я пока не получил ответов.
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER TRIGGER [dbo].[trg_BID_APROVAL]
ON [dbo].[BID]
AFTER UPDATE
AS
BEGIN
IF (SELECT BID_APPROVED FROM INSERTED) = 0 --if NO then do nothing else create and send purchase order
BEGIN
RETURN
END
ELSE
DECLARE @BIDDY_ID INT;
SELECT @BIDDY_ID = BID_ID FROM INSERTED;
DECLARE @SUPPY_ID TABLE(SUP_ID INT,BID_ID INT,PO_DATE DATE DEFAULT GETDATE());
INSERT INTO @SUPPY_ID(SUP_ID, BID_ID)
SELECT
SUP_ID,
BID_ID
FROM
BIDLINE BL
INNER JOIN
PRODUCTS P ON BL.PROD_ID = P.PROD_ID
WHERE
BID_ID = @BIDDY_ID AND SUP_ID > 0
GROUP BY
SUP_ID,BID_ID;
INSERT INTO PURCHASE_ORDER (BID_ID, SUP_ID, PO_DATE)
SELECT BID_ID, SUP_ID, PO_DATE
FROM @SUPPY_ID
END
Текущая ERD для базы данных