2010-07-28 6 views
2

SQL Server 2005를 사용하는 경우 특정 테이블의 모든 행에 대한 생성 날짜 시간을 가져야합니다. 불행히도 테이블에 "rowverion"또는 datetime 열이 없습니다. (i 이것이 주요한 디자인 결함이라는 것을 알아라.)삽입 된 행에 대한 DATETIME 가져 오기

SQL 서버가 각 행 삽입에 대한 datetime을 유지하는지 궁금합니다.

의견 제안은

감사 디팍

감사

답변

2

만들어 질 때 아니, SQL 서버가 자동으로 행에 타임 스탬프를하지 않습니다. 당신이 제안, 미래를위한 새 date_created 열을 만들려하고 GETDATE() 디폴트로 설정할 수 있습니다 : 당신이 @Vash suggested in the other answer로, 원하는 경우

ALTER TABLE  your_table 
    ADD CONSTRAINT dc_your_table_date_created 
    DEFAULT   GETDATE() 
    FOR    date_created; 

은 또한, 대신 트리거를 사용할 수 있습니다.

0

bussines 비즈니스라면 테이블에 열을 추가하고 sysdate를 해당 행으로 설정하는 triger AFTER INSERT 또는 UPDATE를 작성해야합니다. 또는 다음을 사용할 수도 있습니다. rowversion

관련 문제