mysql存儲過程快速上手

建表SQL

建立user表sql

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
-- Table structure for user
-- ----------------------------
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user`  (
  `busiid` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `username` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '',
  `password` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '',
  `partmnt` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `uuid` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;

SET FOREIGN_KEY_CHECKS = 1;

建立partment表ui

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
-- Table structure for partment
-- ----------------------------
DROP TABLE IF EXISTS `partment`;
CREATE TABLE `partment`  (
  `busiid` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `username` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '',
  `password` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '',
  `partmnt` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `uuid` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  PRIMARY KEY (`busiid`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;

SET FOREIGN_KEY_CHECKS = 1;

存儲過程一

循環插入num條數據code

drop procedure create4user;

create procedure create4user(in busiid varchar(100),in num int(20))
BEGIN
while num>0 do
insert into user select busiid,concat(num,'a'),null,'hello' as partment,replace(uuid(),"-","") as uuid;
set num = num - 1;
END WHILE;
end;

存儲過程二

插入一條關聯存儲過程一的busiid的數據到partment表ci

drop procedure create4partment;

create procedure create4partment(in busiid varchar(100))
BEGIN
insert into partment select busiid,'jackson',null,'hello' as partment,replace(uuid(),"-","") as uuid;
end;

存儲過程三

調用存儲過程一和存儲過程二io

drop procedure test4union;

create procedure test4union(in num int(20))
BEGIN
DECLARE busiid varchar(36);
set busiid = (select replace(uuid(),"-",""));
call create4user(busiid,num);
call create4partment(busiid);
END

調用存儲過程三
call test4union(1234567890)class

相關文章
相關標籤/搜索