SQL批处理和流程控制语句

上传人:sx****84 文档编号:243043642 上传时间:2024-09-14 格式:PPT 页数:16 大小:60.50KB
返回 下载 相关 举报
SQL批处理和流程控制语句_第1页
第1页 / 共16页
SQL批处理和流程控制语句_第2页
第2页 / 共16页
SQL批处理和流程控制语句_第3页
第3页 / 共16页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,*,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,批处理和流程控制语句,1,批处理,所谓批处理是指从客户机传递到服务器上的一组完整的数据和SQL指令。在一个批处理中,可以只包含一条SQL指令,也可以包含多条指令。批处理的所有语句被当作一个整体整体,而被成批地分析、编译和执行,若这一批处理中存在一个语法错误,则所有的语句都无法通过编译。,所有的批处理指令以GO作为结束的标志,当编译器读到GO时,它就会把GO前面的所有指令当作一个批处理,并包装成一个数据包发送给服务器。,2,例如:建立一个批处理完成查询。,USE 学生信息库 -打开数据库,GO,SELECT * FROM 学生基本表,WHERE 院系名称=信息学院,GO,3,流程控制语句,一、注释语句,在SQL中提供了两种注释方式:,-:一行注释(注释的内容不超过一行),/* */:一段注释(当注释的内容超过一行),二、变量,变量指的是在程序运行过程中值可以发生变化的量。,SQL 分为两种类型的变量:全局变量和局部变量。其中全局变量是系统已经定义好的变量,主要反映SQL数据库的操作状态。全局变量名称以开头;局部变量可以由用户定义,主要用于保存运算结果,局部变量的名称必须以开头。,4,局部变量的声明,DECLARE ,例如:DECLARE x int,y int,局部变量的显示,SELECT ,PRINT ,例如:SELECT X,Y,在此,若使用SELECT显示,则返回结果在“网格”中;若使用PRINT显示,则返回结果在“消息”中。,5,局部变量赋值,1.通过SELECT赋值,SELECT =,=,说明:SELECT语句可以给多个变量赋值。,例如:,SELECT X=0,Y=1,2.通过SET赋值,SET 变量名=表达式,说明:局部变量没有赋值时其值是NULL;不能在一个SET语句中同时对几个变量赋值,如果给几个变量赋值,那就不得不分开来写。,6,例如:按要求编写程序。先定义一个INT类型num变量,CHAR类型cnum变量,然后分别赋值2004,最后使用PRINT语句将这两个变量的值输出。,DECLARE num int,cnum char(10),SET NUM=2004,SET CNUM=2004,PRINT NUM,PRINT CNUM,7,三、BEGINEND语句,又称语句块,是将SQL语句组合起来从而形成一个语句块。,BEGIN,语句1,语句2,.,.,END,说明:,8,1.将要组合成语句块的语句在BEGIN和END之间就可以了。,2.BEGINEND可以嵌套。,四、IFELSE语句,利用IFELSE语句能够对一个条件进行测试,并根据测试的结果来执行不同的语句块。,IF ,语句块,ELSE,语句块,说明:,9,1.ELSE并不一定是必须的。,2.条件为真,就执行IF语句后面的语句块,否则执行ELSE后面的语句块。,3.IFELSE可以嵌套。,例如:编写程序完成如下功能:查看是否有1988年9月1日以后出生的学生。有则将输出该学生的姓名和学号,否则输出提示用户没有找到的信息。,IF EXISTS(SELECT * FROM 学生基本表 WHERE 出生日期1988-9-1),BEGIN,10,SELECT 姓名,学号 FROM 学生基本表 WHERE 出生日期1988-9-1,END,ELSE,PRINT 没有此信息,五、无条件转移语句,GOTO 标号,标号,说明:,1.GOTO语句会强迫服务器从标号处开始继续执行程序。,11,2.标号必须出现在同一个存储过程或批处理中。标号和GOTO语句谁在代码中先出现不重要。,3.对于GOTO的使用,尽可能不用。,六、循环语句,WHILE 条件表达式,SQL 语句块,BREAK,SQL 语句块,CONTINUE,说明:,12,BREAK表示退出所在的循环。,CONTINUE表示结束本次循环,跳过循环体中尚未执行的语句,进行下一次是否执行循环体的判断。,例如:计算1到100的和。,DECLARE I INT,S INT,SELECT I=1,SELECT S=0,WHILE I=100,BEGIN,13,SELECT S=S+I,SELECT I=I+1,END,SELECT S,例如:计算1到100中奇数的和。,DECLARE NUM INT,SUM INT,SET NUM=0,SET SUM=0,WHILE NUM100,14,BEGIN,SET NUM=NUM+1,IF NUM%2=0,CONTINUE,ELSE,SET SUM=SUM+NUM,END,PRINT SUM,这个程序中的CONTINUE是不能用BREAK来代替的。,15,七、无条件退出,RETURN,说明:用于从批处理、语句块中无条件的退出,不执行位于RETURN后面的语句。,16,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!