0
해당 트리거를 테스트했지만 삽입 행 하나에서만 작동합니다.SQL Server 다중 행 삽입 트리거
트리거가 여러 행 삽입으로 실패하고 트리거를 수정하는 구문을 찾지 못했습니다.
해결 방법은 없나요?
Stackoverflow 사용자 덕분에 문제를 발견하게되었습니다.
해당 트리거를 테스트했지만 삽입 행 하나에서만 작동합니다.SQL Server 다중 행 삽입 트리거
트리거가 여러 행 삽입으로 실패하고 트리거를 수정하는 구문을 찾지 못했습니다.
해결 방법은 없나요?
Stackoverflow 사용자 덕분에 문제를 발견하게되었습니다.
UPDATE
구문의 구문이 올바르지 않습니다. 당신은 실제로 CTE
를 사용하여 트리거의 두 문장을 병합 한 다음 UPDATE
CTE
이를 수행 할 수 있습니다
ALTER TRIGGER [dbo].[tr_update_father]
ON [dbo].[PROD_IVR_CALL]
AFTER INSERT
AS
BEGIN
SET NOCOUNT ON;
;WITH ToUpdate AS (
SELECT pic.id_father,
MIN(pic.id) OVER (PARTITION BY pic.tnumber) AS min_id
FROM prod_ivr_call pic
INNER JOIN join prod_failure pf ON pic.ID_PROD_FAILURE = pf.ID
JOIN inserted ins ON ins.ID_PROD_FAILURE = pf.ID
WHERE pic.tnumber = ins.tnumber AND pic.is_requested = 0
)
UPDATE ToUpdate
SET id_father = min_id
END
완전히 그 변수를 제거. 여기서해야 할 일은 update 문에 삽입 된 다른 조인을 추가하는 것입니다. –