56,684
社区成员
发帖
与我相关
我的任务
分享
CREATE TABLE t1 (
`t1_id` int(11) NULL DEFAULT NULL ,
`t1_n` int(11) NULL DEFAULT NULL
);
CREATE TABLE t2 (
`t1_id` int(11) NULL DEFAULT NULL ,
`t2_n1` int(11) NULL DEFAULT NULL ,
`t2_n2` int(11) NULL DEFAULT NULL
);
USE test;
DROP PROCEDURE IF EXISTS sp_t2;
CREATE PROCEDURE sp_t2
(IN v_t1_id INT)
BEGIN
DECLARE v_t1_n INT;
DECLARE v_t2_n1 INT;
DECLARE v_t2_n2 INT;
SELECT t1_n INTO v_t1_n FROM t1 WHERE t1_id=v_t1_id;
SET v_t2_n1=v_t1_n*v_t1_id;
SET v_t2_n2=v_t1_n*v_t1_id;
UPDATE t1 SET t1_n=v_t2_n1 WHERE t1_id=v_t1_id;
INSERT INTO t2 VALUES(v_t1_id,v_t2_n1,v_t2_n2);
END;
INSERT INTO t1 VALUES (1,6);
USE test;
DROP TRIGGER IF EXISTS tig_count;
CREATE TRIGGER tig_count
AFTER INSERT ON t1
FOR EACH ROW
BEGIN
DECLARE v_t1_id INT;
DECLARE v_t1_n INT;
SET v_t1_id=NEW.t1_id;
CALL sp_t2(v_t1_id);
END;