认识下mysql中的存储过程使用以及语法

来源:互联网 发布:怎么做淘宝宝贝详情页 编辑:程序博客网 时间:2024/05/29 10:12

存储过程:

   简单介绍下,一般存储过程用于数据比较复杂以及业务复杂的情景,数据量比较大,对性能要求高的情况下;

                      存储过程是定义函数;

                使用存储过程可以减少和脚本语言交互以及带宽,从而提高与数据库交互的效率;

语法以及使用例子:

        create procedure p()

        begin

        sqlxxxxxxxxxxxxx

        end;

声明变量   declare  变量名   变量类型    [默认值]

                 declare   name    varchar    default ' ' ;

循环

        while  i<100 do

            循环内容

        end while



create  procedure  p2()

begin

   declare total int  default 0;

   default num int  default 0;

       while num <=100 do

               set total := total + num;

               set num := num + 1;

       end while;
   select total;

end;


-------in    out   inout  输入输出类型


p8:
  create procedure p8(in n int , out total int)



p7:   ---输入的参数,一直加到输入的参数为止
     create procedure p6(in n int)    ---in输入的参数
     begin
       declare total int default 0;
       declare num   int  default 0;
      while num<n do
        set num := num+1;
        set total := total+num;
      end while
         select total;
     end $


 
p8:
  create procedure p8(in n int , out total int)



p9:  ---inout
    create procedure p9(input age int)
     begin
          set age := age + 20;
     end$
   -----此时需要在声明一个变量值
   -----set @curage := 18;


#######case结构
    create procedure p10()
    begin
       declare pos int default 0;
       case pos
         when 1 then select 'flying';
         when 2 then select 'sea';
         when 3 then select 'island';
       end case;
    end$
      

#####repeat  循环
语法格式:
repeat
sql  statement
sql  statement
until  condition end repeat;

例子 :
create procedure p11()
begin
  declare total default 0;
  declare i default 0;
  repeat
    set i := i+1;
    set total := total + 1;
  end repeat
     select total;
end$




0 0
原创粉丝点击