2011-02-17 4 views
0

mysql5에서 트리거를 구현하는 동안 내 coldfusion 애플리케이션 (예 : userName, createdBy 등)에있는 세션 값을 전달할 수 있습니다. 위의 질의에mysql5에서 coldfusion의 세션 값을 트리거에 어떻게 제공합니까?

 
CREATE TRIGGER Users_After_Insert 
AFTER insert ON users 
FOR EACH ROW 
INSERT INTO auditlog (RequisitionID,ApplicantID,ColumnName,OldID,NewID,Description,CreatedBy,CreatedDate) 
values 
(0,0,'',0,0,CONCAT('New user with UserID ',new.UserID,' is created.'), 
session.userName, curdate() 
); 

나는 "session.userName"값을 제공해야 AUDITLOG 테이블의 "CreatedBy"열 내가 ColdFusion에서 세션에서 제공하는 이유 "CreatedBy"열이 "사용자"테이블 그게 아니므로 .

일부 사람이이 문제를 해결하는 데 도움을 주시면 큰 도움이 될 수 있습니다.

감사
Yugal

답변

0

user defined variable를 생성하고 트리거에서이 하나를 사용

SET @userName = 'Shooter'; 
INSERT INTO ...; 
: 당신이 INSERT를 실행하기 전에

CREATE TRIGGER Users_After_Insert 
AFTER insert ON users 
FOR EACH ROW 
INSERT INTO auditlog (RequisitionID,ApplicantID,ColumnName,OldID,NewID,Description,CreatedBy,CreatedDate) 
values 
(0,0,'',0,0,CONCAT('New user with UserID ',new.UserID,' is created.'), 
@userName, curdate() 
); 

하면, 먼저 사용자 이름을 설정해야합니다을

하지만이 경우 stored procedure을 사용하지 않으시겠습니까? 방아쇠로, 일이 잘못 될 수 있습니다, 당신은 변수를 설정하는 것을 잊을 수 있습니다.

+0

ok..i 마음에 간직합니다. 감사.. – Yugal

관련 문제