【SQL文档整理系列1】MySQL创建procedure(可以用来造测试数据)

SQL存储过程脚本,可以用来造测试数据,直接往表里插入

delimiter $$  -- 定义定界符为$$

DROP PROCEDURE IF EXISTS wk;  	-- 如果本地已经存在存储过程wk,则进行drop删除
CREATE PROCEDURE wk()			-- 创建存储过程(procedure)
BEGIN

DECLARE tid int;	-- 使用declare声明变量tid的类型为int
DECLARE uid int;

SET tid=1205346;	-- 使用set给变量赋值
SET uid=420000001;
WHILE  tid<2005346 DO		-- 使用while ... do ... end while;命令来创建循环
	INSERT INTO `testEntrust`(`user_id`, `task_id`, `status`, `serial_no`, `task_no`, `bank_serial_no`, `apply_date`, `apply_time`, `client_mobile`, `ext_params`, `version`, `resp_code`, `resp_msg`, `resp_status`, `fail_reason`, `create_time`, `update_time`) VALUES (uid, tid, '9', 'c01d7d543fab3bd787d3141630', '000000004744', '0020004   ', '2020-09-26', '16:10:21', '8e0e90d0fb5c4b055c0e43b55d', NULL, 0, '0', '请求已提交', '3', '', '2020-09-26 10:17:49', '2020-09-26 10:17:49');
	SET tid=tid+1;
	SET uid=uid+1;
END WHILE;

END $$
delimiter ;
CALL wk();

关于delimiter $$

  1. delimiter表示定界符,默认指的是分号;,正常MySQL语句遇到分号后,就会立马执行
  2. 但遇到一大段的命令且包含分号,这时需要整个一起执行(类似函数一样),那么就需要定义其他的定界符,可以是$$或者//
  3. 上边的代码中,首句delimiter $$就是定义定界符为$$,当语句结束时,就可以用$$来结束
  4. 而之后的语句又要恢复使用分号;作为定界符,所以又定义了delimiter ;

创建存储过程的语法

delimiter $$
create procedure p_name(args)
begin 
... 
end $$

如果是要多次执行,需要先清空之前的存储过程,如下

delimiter $$
drop procedure if exists p_name;
create procedure p_name(args)
begin 
... 
end $$

调用存储过程使用call

CALL wk();

SQL语法(变量定义/赋值、循环语句)

  1. SQL需要声明变量类型,使用declare
declare id int;
  1. SQL给变量赋值,使用set,然后用=赋值
set id=1000;
  1. 在每个语句结束时,需要用分号;结束,包括声明变量、赋值的时候
  2. 循环语句如下,while ... do ... end while;
while id<20000 do
	insert ...;
	set id=id+1;
end while
  1. 使用repeat来作为循环
repeat
    INSERT INTO ...; 
    set id = id + 1; 
until id >= 20000 end repeat; 
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值