2011-08-21 92 views
0

我正在寫一個插入後觸發器,它將數據插入到從emp_sup表中獲取數據的list_of_requests表中。使用'insert into .. select ...'語句創建觸發器

create trigger trig_lor 
after insert 
on employee_skillset 
for each row begin 
    insert into list_of_requests (APPROVER1,APPROVER2,LOGDATE) 
    select sup1,sup2,'#dateFormat(now(),"yyyy/mm/dd")#' from empsup 
     where empno=NEW.employee_number 
end 

這是給錯誤爲:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'trigger trig_lor after insert on employee_skillset for each row begin inse' at line 1

如何使這項工作?

+1

你有什麼MySQL版本? – Mchl

回答

0

未經測試,但試試看。

delimiter // 
drop trigger if exists trig_lor // 
create trigger trig_lor 
after insert 
on employee_skillset 
for each row 
begin 
insert into list_of_requests (APPROVER1,APPROVER2,LOGDATE) 
select sup1,sup2,curdate() from empsup where empno=NEW.employee_number; 
end; // 
delimiter ; 
+0

抱歉:(不工作..它提供相同的語法錯誤 – sanjeev

+0

@sanjeev - 適用於我。你是否直接在mySQL中運行命令? – Leigh

+0

@leigh我會說他正在'cfquery'中運行這個判斷#dateformat#'在問題中 - 可能是數據源的權限問題? – Antony