나는 실제 테이블 데이터 변경 (동일한 값으로 업데이트하는 것이 아니라)에서 작동하는 업데이트 트리거를 만드는 작업을했습니다. 그런 목적으로 복사 표를 작성한 다음 갱신 된 행을 이전 복사 된 것과 비교하기 시작했습니다. 트리거가 완료되면, 그것은 복사 실현하기 위해이 켜지지입니다 : 난 더 이상 트리거에서이 추한 코드를 좋아하지 않아저장 프로 시저 및 트리거
UPDATE CopyTable SET
id = s.id,
-- many, many fields
FROM MainTable s WHERE s.id IN (SELECT [id] FROM INSERTED)
AND CopyTable.id = s.id;
를, 그래서 저장 프로 시저에 압축을 푼 :
CREATE PROCEDURE UpdateCopy AS
BEGIN
UPDATE CopyTable SET
id = s.id,
-- many, many fields
FROM MainTable s WHERE s.id IN (SELECT [id] FROM INSERTED)
AND CopyTable.id = s.id;
END
결과는 다음과 같습니다. - 올바르지 않은 오브젝트 이름 'INSERTED'. 이 문제를 어떻게 해결할 수 있습니까?
감사합니다,
당신은 단순히 트리거 내에서 저장 프로 시저를 호출하거나뿐만 아니라 절차 다른 장소를 호출 할 가능성이하려고 : 여기
은 답변입니까? – Sparky아니요, 트리거에서만 발생합니다. – noober