【发布时间】:2011-04-16 09:38:47
【问题描述】:
DELIMITER //
DROP TRIGGER insert_orderinward_trig; //
CREATE TRIGGER insert_orderinward_trig AFTER INSERT ON tblm_tlmngorderinward FOR EACH ROW
BEGIN
call temp_proc(NEW.itemcode);
END; //
我把程序写成
DELIMITER //
DROP PROCEDURE temp_proc; //
CREATE PROCEDURE temp_proc(IN code VARCHAR(80))
BEGIN
DECLARE inwardstock,issuestock,updatestock DECIMAL(15,0) DEFAULT 0;
SET inwardstock = (SELECT SUM(stock) FROM tblm_tlmngorderinward WHERE itemcode = code);
IF(@inwardstock > 0) THEN
SET updatestock =inwardstock;
END IF;
SET issuestock = (SELECT SUM(stock) FROM tblt_tlmngissueitem WHERE itemcode = code);
IF(@issuestock > 0) THEN
SET updatestock = @updatestock-@issuestock ;
END IF;
UPDATE tblm_tlmngitem SET stock=updatestock WHERE itemcode=code;
END; //
DELIMITER ;
当我手动插入记录时,我的插入触发器工作正常。但是当我在java中使用preparestatement插入记录时它不能工作。
【问题讨论】:
标签: java mysql stored-procedures triggers