2017-09-05 104 views
0

所以這是我的問題。我有excel文件上傳。我需要的是我需要在一列中插入'1'或'2',同時將數據從excel文件填充到sql db取決於另一列的值。是否有可能創建在同一個表中上傳數據時插入的觸發器?謝謝。插入值取決於另一列觸發器的值sql

CREATE 
/*!50017 DEFINER = 'root'@'localhost' */ 
TRIGGER `trg_utCode` BEFORE INSERT ON `exceldisbursements` 
FOR EACH ROW 

BEGIN 
UPDATE exceldisbursements 
SET ut_id = CASE 
WHEN ex_responsibility_center LIKE '001-05%' THEN 2 
WHEN ex_responsibility_center LIKE '001-5%' THEN 2 
ELSE 1 
END; 
END; 

回答

0

你所做的是在你的表上有一個完整的更新(你沒有任何where子句)。你只需要使用「:new」綁定變量。例如:

BEGIN 
:new.ut_id = CASE 
WHEN :new.ex_responsibility_center LIKE '001-05%' THEN 2 
WHEN :new.ex_responsibility_center LIKE '001-5%' THEN 2 
ELSE 1 
END; 
END; 
相關問題