【MySQL】简单创建存储过程的实例

60 阅读1分钟

建表语句

CREATE TABLE `t` (
  `id` int(11) NOT NULL,
  `c` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB;

存储过程语句

# 删除存储过程
drop procedure if exists idata

# 定义分隔符(sql语句一般遇到符号;,就会被sql解析器立刻执行,但被delimiter包裹的sql语句代码块,则不会立刻被sql解析器一句一句执行,而是作为一个整体被sql解析器执行)
delimiter ;;
create procedure idata()
begin
  declare i int;
  set i=1;
  while(i<=100000) do
    insert into t values(i,i,i);
    set i=i+1;
  end while;
end;;
delimiter ;

# 调用存储过程
call idata();

ps

使用存储过程需要开这3个权限。

我开发账号,运维只给开了表的crud,之前一直报错这个。

image.png