mysql存储过程学习

一:mysql创建一个修改表字段的存储过程

drop procedure if exists pr_test;

create procedure pr_test()

begin
      declare var int;  declare var1 int;
      set var=416;  set var1=420;
      while var<850001 do
      update xxx set bb='217',aa='237'  where id between var and var1;
       set var=var+10;
       set var1=var1+10;
      end while;
  end;

二:调用存储过程

call pr_test();

三:注意点

1)MySQL 存储过程中的每条语句的末尾,都要加上分号 “;”

2)如果 MySQL 存储过程中包含多条 MySQL 语句,则需要 begin end 关键字

3)MySQL 存储过程名字后面的“()”是必须的,即使没有一个参数,也需要“()”

4)MySQL 存储过程不需要在 procedure body 前面加 “as”。而 SQL Server 存储过程必须加 “as” 关键字

四:循环相差存储过程样例

drop procedure if exists pr_add;
create procedure pr_add
( a int)
begin
declare var int;
set var=0;
while a<10
do
set var=var + a;
set a=a+1;
end while;
select var as sum;
end;

原文地址:https://www.cnblogs.com/penglei2011/p/3719073.html