mysq实现存储过程多表插入
《首先我们建立三张关系表》在创建表的时候勾选自动增长
《goods表》
《product表》
《store表》
开始创建存储过程函数(话不多说直接上代码)分为三次运行
– 创建一个存储过程函数方法
CREATE PROCEDURE mysql ()
BEGIN
– 设置初始值
DECLARE i INT DEFAULT 0;
DECLARE gName VARCHAR ( 255 ); – 商品名称
DECLARE good_id int; – 商品id
DECLARE gOrder VARCHAR ( 255 ); – 商品名称
DECLARE proName VARCHAR ( 255 );-- 产品名称
DECLARE pro_id int;-- 产品id
DECLARE stoName VARCHAR ( 255 ); – 店铺名称
– 使用 WHILE 做循环次数
WHILE
i < 10 DO
– 通过自带函数CONCAT 拼接商品名称
SET gName = CONCAT( ‘商品’, i,‘号’ );
– 通过自带函数CONCAT 拼接商品订单号
SET gOrder = CONCAT( ‘JD’, i,‘CN’ );
– 通过自带函数CONCAT 拼接产品名称
SET proName = CONCAT( ‘Iphone’, i,‘pluse’ );
– 通过自带函数CONCAT 拼接店铺名称
SET stoName = CONCAT( ‘黑龙集’, i,‘号店’ );
-- 写商品表的插入语句(商品id为主键自增)
-- goods_name set 循环拼接的值
INSERT into goods(goods_name,goods_number,goods_order) VALUES(gName,100,gOrder);
-- 获取商品主键
SET good_id = last_insert_id();
INSERT into product(goods_id,product_name) VALUES(good_id,proName);
-- 获取产品主键
SET pro_id = last_insert_id();
-- 开始插入store(店铺id为主键自增)
INSERT into store(store_goods_id,store_name,store_product_id) VALUES(good_id,stoName,pro_id);
-- 依次加一
SET i = i + 1;
-- 结束WHILE语句
END WHILE;
-- 程序结束
END
-- 调用函数方法
CALL mysql()
-- 删除存储过程
DROP PROCEDURE mysql
简单的demo测试就完成了,欢迎各位小伙伴交流哦