2016-10-07 4 views
-2

열 이름 (예 : userid)이 필드를 수정 한 사람의 ID를 기록하는 SQL 테이블을 작성하려고합니다.사용자 ID를 기록하는 열을 작성하십시오.

어떻게 할 수 있습니까?

+0

Person ID는 무엇을 의미합니까? Person의 SQL Server User의 ID를 의미합니까? 또는 데이터 모델에서 생성 한 Person의 ID? BTW, sql-server는 mysql과 다르며, db 엔진은 무엇을 사용하고 있습니까? – FLICKER

+0

MySQL 또는 MS SQL Server를 사용하고 있습니까? 관련되지 않은 제품에 태그를 지정하지 마십시오. – jarlh

+0

나는 누가 데이터에 변경을했는지 기록하는 것이 가능하다는 것을 알고 싶다. – Vikram

답변

0

도와주세요 자동으로 사용자 ID를 기록하는 계산 열이있는 테이블을 생성하는 SQL 스크립트를 필요 난 당신이 트리거 같은 것을 필요가 있다고 생각합니다. MSDN

트리거에 의해 정의

이벤트 데이터베이스 서버에서 발생할 때 자동으로 실행하는 프로 시저의 특별한 종류이다.

시나리오에서 사용자 ID가 업데이트되면 트리거가 사용자 ID를 저장합니다.

귀하의 질문에 약간 희미하지만, 어디서 사용자 이름을 얻을 수 있습니까? 사용자 이름을 가정

ALTER TRIGGER [dbo].[SaveUserID] 
    ON [dbo].[Employee] 
    AFTER UPDATE 
AS 
BEGIN 
    SET NOCOUNT ON; 
    if UPDATE(employee_name) 
    begin 
     insert into auditTrail (username,useridChanged) 
     values (SYSTEM_USER,(select employee_name from deleted)) 
    end 
END 

audittrail의 열 같은

트리거의 스크립트를 볼 수있는 작품 이름과 useridchanged 될 SQL Server의 로그인 계정입니다.

이 코드는 SQL Server 용입니다.

+0

을 사용합니다. 고마워요. 조슈아가 정확히 내가 찾고 있었던 것입니다. – Vikram

관련 문제