2010-12-14 2 views
0

생성 된 사용자, 생성 된 날짜, 수정 된 사용자 및 수정 날짜,생성 된 사용자, 생성 된 날짜, 수정 된 사용자, 수정 된 날짜 테이블에 대한 쿼리 작성 방법

에 대한 값을 테이블에 자동으로로드하는 방법을 알면 도움이 필요합니다. 모든 데이터가 테이블로 전환되면

, 우리는 만든 사용자와 고정 할 만든 날짜 열 값 만 수정 된 사용자를해야하며, 수정 된 날짜는 테이블 구조는이 기본을 잊지 -dont처럼 보이는 Admiting

+1

어떤 테이블에 어떤 언어로로드 되었습니까? 테이블 구조가 있습니까? – Paddy

답변

0

변경해야 GETDATE() - :

YourTable 
--------- 
CreatedUser 
CreatedDate DEFAULT GETDATE() 
ModifierUser 
ModifierDate 

삽입시 ModifiedUser 및 ModifiedDate를 GETDATE()로 업데이트하는 함수를 트리거합니다.

1

열의 기본값은 날짜 시간 열의 경우 GetDate(), 현재 사용자의 경우 SYSTEM_USER으로 설정할 수 있습니다. 이것은 기록의 창조에 좋습니다.

수정 열에는 트리거를 추가해야합니다. 당신이 값을 설정하는 트리거를 만들 필요가 UpdatedAt를 들어

CreatedAt DATETIME DEFAULT GETDATE(), 
CreatedBy VARCHAR(100) DEFAULT USER 

:

읽기 또한 가치가 ... createdby를 들어

How to use system_user in audit trigger but still use connection pooling?

0

와는 컬럼의 디폴트 값을 사용할 수 있습니다 CreateTime 더 :

CREATE TRIGGER [t_Table_upd] ON YourTable AFTER UPDATE AS 
set nocount on 
UPDATE YourTable 
set 
    YourTable.[Modified] = getdate(), 
    YourTable.[ModifiedBy] = USER, 
    YourTable.[Version] = YourTable.[Version] + 1 
FROM 
    DELETED d 
WHERE 
    YourTable.ID = d.ID 
+0

하지만 SQL 인증을 사용하는 경우 SQL 인증 이름 대신 Windows 사용자 이름을 사용하는 방법은 무엇입니까 – Sravanthi

+0

SQL 인증을 사용하면 SQL Server는 사용자 이름이 Windows 사용자라는 점을 추측 할 수 없습니다. Windows 인증을 사용하여 연결할 때 NAME은 인증 된 Windows 사용자 이름을 반환합니다. http://msdn.microsoft.com/en-us/library/ms186738.aspx – Jan

관련 문제