2017-09-05 62 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; 
相关问题