存储过程再续

来源:互联网 发布:mysql数据库分页语句 编辑:程序博客网 时间:2024/06/07 13:52
 

存储过程再续:

1、sql语句集合:

单句: create procedure p1() select * from t2

多句:create procedure p()

            begin

            流程控制过程

           sql语句集合

           end

2、创建存储过程,显示“hello world!!!”。

基本步骤如下:

1)检验版本(分以下两种方式)

                                  select version()

                                  select @@version

2)存储过程是属于数据库:show database                         

3)声明结束符:delimiter//

4)创建存储过程:create procedure p1() select "hello world"//

5)调用存储过程:call p1()//

6)恢复结束符:delimiter;

3、

参数的应用

   IN 输入形参参数的使用

      set  @x=3;

      select @x;

调用必须有对应的实参(类型、数量)将信息带入到存储过程

 create procedure p10(IN  para1  int) set @x=para1;

create procedure p10(para1 int) set @x=para1;

call p10(18);

select  @x;

4、流程控制结构

语法:

1)if语法:

if 条件 then 语句集合

           elseif 条件 then 语句集合

           else 语句集合

           end if

2)case变量:

when 变量取值1 then 语句集合

when 变量取值2 then 语句集合
else 语句集合

end case;

3)while...end  while

 Create procedure p16()

   Begin

     Declare v int;

     Set v=0;

     While v<5 do        Insert into t1 values(v);

       Set v=v+1;    

      End while;

End//

Call p16();//

Select * from t1;//

 

4)loop...end loop

Create  procedure  p10()

 Begin

    Declare  v  int;

    Set  v=0;

     Loop_label:LOOP

       Insert into  t1 values(v);

       Set  v=v+1;

       If  v>5  then

           Leave  loop_label;          

        End if;

      End loop;

  End//

 

 

5)repeat...end repeat

Create  procedure p11()

Begin

   Declare  v int;                                              

   Set  v=0;

   Repeat

     Insert  into  t1  values(v);

     Set  v=v+1;  ----------出口条件

     Until  v>5;    ----------入口条件

    End  repeat;

  End//                 

5、select  …into  变量列表

    只能应用在存储过程

   Create procedure p12(out para1 char(20))

   Begin

   Select s1 into para1 from t1;

 End//

6、初步涉及游标(指针)

      创建游标;declare

      打开游标;open

      获取记录;fetch

      关闭游标;close