나는 SQL Server의 두 개의 테이블이 있습니다테이블의 모든 필드를 포함하도록이 트리거를 어떻게 변경할 수 있습니까?
- 사람을
- PersonHistory
매번 누군가가 내가이 트리거를 실행 Person
테이블이 PersonHistory
테이블에 레코드를 저장하기 위해 업데이트 :
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER TRIGGER [TU_Person]
ON [Person]
AFTER UPDATE
AS
SET NOCOUNT ON
INSERT
INTO [PersonHistory]
([Field1], [Field2],[Field3],[Field4],[Field5],[Field6], [LastUpdated], [LastUpdatedBy])
SELECT [Field1], [Field2],[Field3],[Field4],[Field5],[Field6], [LastUpdated], [LastUpdatedBy]
FROM deleted
문제는 계속이 테이블에 필드를 추가하고이 트리에 필드를 추가하는 것을 잊어 버리는 것입니다 거거. 이 트리거를 다시 작성하여 모든 필드 이름을 하나씩 나열하는 대신 insert *
및 Select *
이라고 간단하게 다시 쓸 수 있습니까? 삭제
열이
추가 필드가 선택 기품을 변경함으로써 시작이나 끝에 추가 될 수있는 동일한 순서 인 경우이 작동 FROM SELECT * PersonHistory] INTO