MySQL.新特性教程 存储过程第三讲

MySQL.新特性教程 存储过程第三讲

ID:47193782

大小:69.50 KB

页数:9页

时间:2019-08-20

MySQL.新特性教程 存储过程第三讲_第1页
MySQL.新特性教程 存储过程第三讲_第2页
MySQL.新特性教程 存储过程第三讲_第3页
MySQL.新特性教程 存储过程第三讲_第4页
MySQL.新特性教程 存储过程第三讲_第5页
资源描述:

《MySQL.新特性教程 存储过程第三讲》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、MySQL5.0新特性教程存储过程:第三讲>>  TheNeents新SQL语句  Variables变量  在复合语句中声明变量的指令是DECLARE。  (1)Exampleents  两个DECLARE语句的例子ttysql>CALLp10()//+--------+

2、s1*a

3、+--------+

4、25

5、

6、25

7、+--------+2roysql>CALLp11()//+-------+

8、x1

9、+-------+

10、inner

11、+-------++-------+

12、x1

13、+--

14、-----+

15、outer

16、+-------+  我们看到的结果时第一个SELECT语句检索到最内层的变量,第二个检索到第二层的变量  ConditionsandIF-THEN-ELSE条件式和IF-THEN-ELSE  1.  现在我们可以写一些包含条件式的例子:CREATEPROCEDUREp12(INparameter1INT)BEGINDECLAREvariable1INT;SETvariable1=parameter1+1;IFvariable1=0THENINSERTINTOtVALU

17、ES(17);ENDIF;IFparameter1=0THENUPDATEtSETs1=s1+1;ELSEUPDATEtSETs1=s1+2;ENDIF;END;//  这里是一个包含IF语句的过程。里面有两个IF语句,一个是IF语句ENDIF,另一个是IF语句ELSE语句ENDIF。我们可以在这里使用复杂的过程,但我会尽量使其简单让你能更容易弄清楚。  2.>>>这篇文章来自..,。>  CALLp12(0)//  我们调用这个过程,传入值为0,这样parameter1的值将为0。  3.CR

18、EATEPROCEDUREp12(INparameter1INT)BEGINDECLAREvariable1INT;SETvariable1=parameter1+1;<--IFvariable1=0THENINSERTINTOtVALUES(17);ENDIF;IFparameter1=0THENUPDATEtSETs1=s1+1;ELSEUPDATEtSETs1=s1+2;ENDIF;END;//  这里变量variable1被赋值为parameter1加1的值,所以执行后变量vari

19、able1为1。  4.CREATEPROCEDUREp12(INparameter1INT)BEGINDECLAREvariable1INT;SETvariable1=parameter1+1;IFvariable1=0THEN<--INSERTINTOtVALUES(17);ENDIF;IFparameter1=0THENUPDATEtSETs1=s1+1;ELSEUPDATEtSETs1=s1+2;ENDIF;END;//  因为变量variable1值为1,因此条件ifvariab

20、le1=0为假,  IF    ENDIF  被跳过,没有被执行。  5.CREATEPROCEDUREp12(INparameter1INT)BEGINDECLAREvariable1INT;SETvariable1=parameter1+1;IFvariable1=0THENINSERTINTOtVALUES(17);ENDIF;IFparameter1=0THEN<--UPDATEtSETs1=s1+1;ELSEUPDATEtSETs1=s1+2;ENDIF;END;//  到第二个

21、IF条件,判断结果为真,于是中间语句被执行了  6.CREATEPROCEDUREp12(INparameter1INT)BEGINDECLAREvariable1INT;SETvariable1=parameter1+1;IFvariable1=0THENINSERTINTOtVALUES(17);ENDIF;IFparameter1=0THENUPDATEtSETs1=s1+1;<--ELSEUPDATEtSETs1=s1+2;ENDIF;END;//  因为参数parameter1值

22、等于0,UPDATE语句被执行。如果parameter1值为NULL,则下一条UPDATE语句将被执行现在表t中有两行,他们都包含值5,所以如果我们调用p12,两行的值会变成6。  7.mysql>CALLp12(0)//QueryOK,2roysql>SELECT*FROMt//+------+

23、s1

24、+------+

25、6

26、

27、6

28、+------+2roeter1INT)BEGINDECLAREvariable1INT;SETvariable1=parameter1+1;CASEva

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。