SQL批处理和流程控制语句.ppt

上传人:re****.1 文档编号:570180110 上传时间:2024-08-02 格式:PPT 页数:16 大小:234.96KB
返回 下载 相关 举报
SQL批处理和流程控制语句.ppt_第1页
第1页 / 共16页
SQL批处理和流程控制语句.ppt_第2页
第2页 / 共16页
SQL批处理和流程控制语句.ppt_第3页
第3页 / 共16页
SQL批处理和流程控制语句.ppt_第4页
第4页 / 共16页
SQL批处理和流程控制语句.ppt_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《SQL批处理和流程控制语句.ppt》由会员分享,可在线阅读,更多相关《SQL批处理和流程控制语句.ppt(16页珍藏版)》请在金锄头文库上搜索。

1、批处理和流程控制语句批处理所谓批处理是指从客户机传递到服务器上的一组完所谓批处理是指从客户机传递到服务器上的一组完整的数据和整的数据和SQLSQL指令。在一个批处理中,可以只指令。在一个批处理中,可以只包含一条包含一条SQLSQL指令,也可以包含多条指令。批处指令,也可以包含多条指令。批处理的所有语句被当作一个整体整体,而被成批地理的所有语句被当作一个整体整体,而被成批地分析、编译和执行,若这一批处理中存在一个语分析、编译和执行,若这一批处理中存在一个语法错误,则所有的语句都无法通过编译。法错误,则所有的语句都无法通过编译。 所有的批处理指令以所有的批处理指令以GOGO作为结束的标志,当编作为

2、结束的标志,当编译器读到译器读到GOGO时,它就会把时,它就会把GOGO前面的所有指令当前面的所有指令当作一个批处理,并包装成一个数据包发送给服务作一个批处理,并包装成一个数据包发送给服务器。器。例如:建立一个批处理完成查询。USE 学生信息库 -打开数据库GOSELECT * FROM 学生基本表 WHERE 院系名称=信息学院 GO流程控制语句一、注释语句一、注释语句在在SQLSQL中提供了两种注释方式:中提供了两种注释方式:- -:一行注释(注释的内容不超过一行):一行注释(注释的内容不超过一行)/* */* */:一段注释(当注释的内容超过一行):一段注释(当注释的内容超过一行)二、变

3、量二、变量变量指的是在程序运行过程中值可以发生变化的量。变量指的是在程序运行过程中值可以发生变化的量。SQL SQL 分为两种类型的变量:全局变量和局部变量。其分为两种类型的变量:全局变量和局部变量。其中全局变量是系统已经定义好的变量,主要反映中全局变量是系统已经定义好的变量,主要反映SQLSQL数据库的操作状态。全局变量名称以数据库的操作状态。全局变量名称以开头;开头;局部变量可以由用户定义,主要用于保存运算结果,局部变量可以由用户定义,主要用于保存运算结果,局部变量的名称必须以局部变量的名称必须以开头。开头。局部变量的声明DECLARE ,例如:DECLARE x int,y int局部变

4、量的显示SELECT PRINT 例如:SELECT X,Y在此,若使用SELECT显示,则返回结果在“网格”中;若使用PRINT显示,则返回结果在“消息”中。局部变量赋值局部变量赋值1.1.通过通过SELECTSELECT赋值赋值SELECT SELECT =,=2说明:说明:SELECTSELECT语句可以给多个变量赋值。语句可以给多个变量赋值。例如:例如:SELECT X=0,Y=1SELECT X=0,Y=12.2.通过通过SETSET赋值赋值SET SET 变量名变量名= =表达式表达式说明:局部变量没有赋值时其值是说明:局部变量没有赋值时其值是NULLNULL;不能在一;不能在一个

5、个SETSET语句中同时对几个变量赋值,如果给几个语句中同时对几个变量赋值,如果给几个变量赋值,那就不得不分开来写。变量赋值,那就不得不分开来写。例如:按要求编写程序。先定义一个INT类型num变量,CHAR类型cnum变量,然后分别赋值2004,最后使用PRINT语句将这两个变量的值输出。DECLARE num int,cnum char(10)SET NUM=2004SET CNUM=2004PRINT NUMPRINT CNUM三、BEGINEND语句又称语句块,是将SQL语句组合起来从而形成一个语句块。BEGIN 语句1 语句2 . .END说明:1.1.将要组合成语句块的语句在将要组

6、合成语句块的语句在BEGINBEGIN和和ENDEND之间就之间就可以了。可以了。2.BEGINEND2.BEGINEND可以嵌套。可以嵌套。四、四、IFELSEIFELSE语句语句利用利用IFELSEIFELSE语句能够对一个条件进行测试,并语句能够对一个条件进行测试,并根据测试的结果来执行不同的语句块。根据测试的结果来执行不同的语句块。IF IF 语句块语句块ELSEELSE 语句块语句块 说明:说明:1.ELSE并不一定是必须的。2.条件为真,就执行IF语句后面的语句块,否则执行ELSE后面的语句块。3.IFELSE可以嵌套。例如:编写程序完成如下功能:查看是否有1988年9月1日以后出

7、生的学生。有则将输出该学生的姓名和学号,否则输出提示用户没有找到的信息。IF EXISTS(SELECT * FROM 学生基本表 WHERE 出生日期1988-9-1)BEGIN SELECT SELECT 姓名,学号姓名,学号 FROM FROM 学生基本表学生基本表 WHERE WHERE 出生日期出生日期1988-9-11988-9-1ENDENDELSEELSE PRINT PRINT 没有此信息没有此信息 五、无条件转移语句五、无条件转移语句GOTO GOTO 标号标号标号标号说明:说明:1.GOTO1.GOTO语句会强迫服务器从标号处开始继续执行语句会强迫服务器从标号处开始继续执

8、行程序。程序。2.标号必须出现在同一个存储过程或批处理中。标号和GOTO语句谁在代码中先出现不重要。3.对于GOTO的使用,尽可能不用。六、循环语句WHILE 条件表达式 SQL 语句块 BREAK SQL 语句块 CONTINUE说明:BREAK表示退出所在的循环。CONTINUE表示结束本次循环,跳过循环体中尚未执行的语句,进行下一次是否执行循环体的判断。例如:计算1到100的和。DECLARE I INT,S INTSELECT I=1SELECT S=0WHILE I=100 BEGIN SELECT S=S+I SELECT I=I+1 ENDSELECT S例如:计算1到100中奇数的和。DECLARE NUM INT,SUM INTSET NUM=0SET SUM=0WHILE NUM100BEGIN SET NUM=NUM+1 IF NUM%2=0 CONTINUE ELSE SET SUM=SUM+NUMENDPRINT SUM这个程序中的CONTINUE是不能用BREAK来代替的。七、无条件退出RETURN说明:用于从批处理、语句块中无条件的退出,不执行位于RETURN后面的语句。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号