如何使用phpmyadmin中的触发器更新多行中的数据条目

时间:2015-11-16 11:21:44

标签: plsql triggers phpmyadmin

我有3张桌子 -

输入

  • 值(INT)
  • ID(INT)

来源

  • S_ID(INT)
  • S_Qty(INT)

目标

  • D_ID(INT)
  • D_Qty(INT)

现在我想在输入表上创建一个AFTER INSERT 触发器

例如 如果我在 值中插入100 &表输入

中的 ID 中的2

然后应触发一个触发器,在 S_Qty 中增加100,其中 S_ID = ID(即2)来自表来源

同时在 D_Qty 中减少100,其中 D_ID = ID(即2)来自表目的地

PS - 假设我在来源目的地表中存储了一些值

我使用了以下查询 -

DELIMITER //   
CREATE TRIGGER update_input    
AFTER INSERT ON input    
FOR EACH ROW    
BEGIN     
DECLARE I,V,D,S INT;    
SELECT value INTO V FROM input;    
SELECT ID INTO I FROM input;    
SELECT D_Qty INTO D FROM destination WHERE D_ID = I;    
UPDATE destination    
SET D_Qty = D + V WHERE D_ID = I;    
SELECT S_Qty INTO S FROM source WHERE S_ID = I;    
UPDATE source    
SET S_Qty = S - V WHERE S_ID = I;    
DELETE FROM input;
END; //
DELIMITER ;

0 个答案:

没有答案