存储过程

Delimiter (分隔符) 声明新的结束符 (任选,避免在mysql环境下下有特殊含义)

Create procedure(过程) p_name(in c_name  数据类型)创建

、参数应用

IN输入参数的应用

Set  @x=3;赋值

  Select@x;


 嵌套

  Createprocedure p15()

Begin

Declare v1char(10) default ‘outer’;  //后执行

   Begin

      Declare v1 char(10) default ‘inner’;   //先执行

      Select v1;

   End;

   Select v1;

End//

 

Drop procedure p15;删除存储过程

流程控制结构(p134-136)

 

条件分支结构

语法

IF   条件 then  语句集合

Elseif   条件 then 语句集合

End if;

Call  p();

Select  @a;

注意:

形参中的变量如果和存储过程中的局部变量同名,会‘覆盖‘;

      形参变量在存储过程中无大小写的要求;

赋值:Select中用:=,set用=

 

  练习:创建存储过程,如果参数>60分,给t1表插入数据0


Case 变量

When  变量取值1 then 语句集合

When  变量取值2 then 语句集合

 Else 语句集合

End case;


Case

   When变量与值1表达式then 语句集合

   When变量与值2表达式then 语句集合

Else 语句集合

End case;

 

 

 

 

循环结构

While  end while

Loop   end loop

Repeat  end repeat

Goto (不推荐使用,流程混乱,淘汰)


while v<5 do-------循环的入口(必须满足的条件)

 insert into t1 values(v);

set v=v+1;------循环的出口(退出循环的条件)

end while;

end//

call p16();

select * from t1;//是否插入信息

提醒:执行结束后的系统返回是针对最后一条insert 语句

 

 

Repeat

Create procedure p17()

Begin

  Declarev int;

  Setv=0;

  Repeat -------循环的入口(必须满足的条件)

     Insertinto t1 values(v);

Set v=v+1;

Until v=5; ------循环的出口(退出循环的条件)

End repeat;

End//

 

 

 

 

 

Create procedure p18()

Begin

Declare v int;

  Setv=0;

Loop_label LOOP

Insert into t1 values (v);

Set v=v+1;

If v>5 then

Leave loop_label;

End if;

End//

 

 

四、select。。。。into 变量列表

 只能应用在存储过程

Create procedure p19(out  para1 char(20))

Being

Select s1 into para1 from t1;  ---返回并保存

End//

Select 返回结果:表、列、行(指针)、值

游标(当做指针来对待)

  步骤:

    创建游标declare

打开游标open

获取记录fetch

关闭游标close

 




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值