이 트리거 :INSTEAD OF 트리거를 SCOPE_IDENTITY와 함께 사용할 수있는 방법이 있습니까?
ALTER TRIGGER InsteadTrigger on CustomerView
INSTEAD OF INSERT
AS
BEGIN
SET NOCOUNT ON;
INSERT INTO Person
SELECT FirstName, LastName
FROM inserted
원인이 쿼리는 null을 반환합니다.
INSERT INTO CustomerView (FirstName, LastName) Values ('Jonathan', 'Allen')
SELECT SCOPE_IDENTITY()
트리거를 수정하여 SCOPE_IDENTITY가 올바른 값을 반환하도록 할 수있는 방법이 있습니까? (관련 테이블에 다른 트리거가있을 수 있으므로 @@ IDENTITY를 사용할 수 없습니다.)
P. 고객이 이에 대해 묻고 있습니다. 나는 결코 의도적으로이 상황에 빠지지 않을 것이다. –
먼저, INSERT를 가정하는 가장 일반적인 오류는 한 행만 처리하는 것입니다. 하나의 insert 문으로 여러 행을 삽입 할 수 있습니다. –
아니에요. 트리거는 여러 행에 대해 작동하며 SCOPE_IDENTITY가 삽입 될 때까지 아무도 작동하지 않을 것으로 예상하지 않습니다. –