2009-03-17 4 views

답변

1

ALTER TABLE yourTable ADD 
    Inserted datetime NULL, 
    Updated datetime NULL 
GO 

이 업데이트를 만들고 테이블에 열을 추가하고 삽입 트리거가 열 이제 정말 깨끗하고 싶다면

CREATE TRIGGER yourTableInsertTrigger 
    ON yourTable 
    AFTER INSERT 
AS 
BEGIN 
    Update yourTable Set Inserted = getdate() 
    from Inserted 
    Where yourTable.Key = Inserted.Key 
END 
GO 


CREATE TRIGGER yourTableUpdateTrigger 
    ON yourTable 
    AFTER UPDATE AS 
BEGIN 
    Update yourTable Set Updated = getdate() 
    from Updated 
    Where yourTable.Key = Updated.Key 
END 
GO 

를 업데이트하려면 확인 것 그 두 데이터에 대한 다른 액세스를 위해 직접 테이블 액세스 대신보기를 사용하여 열을 변경/업데이트 할 수 없습니다. 또한 기본 키가 일관성이없는 경우 많은 테이블이있는 경우 CodeGeneration을 사용하여 SQL을 만드는 것이 좋습니다. MyGeneration하면 좋을 것입니다.

0

삽입 된 방아쇠가 사용되지 않는다고 생각합니다. 삽입 된 열에 null 대신 기본값으로 getdate()를 추가하면됩니다.

+0

업데이트가 아닌 원래 삽입에만 작동합니다. – devstuff

관련 문제