T-SQL程序设计之批处理与程序流程控制语句.ppt

上传人:牧羊曲112 文档编号:6521723 上传时间:2023-11-08 格式:PPT 页数:19 大小:797.50KB
返回 下载 相关 举报
T-SQL程序设计之批处理与程序流程控制语句.ppt_第1页
第1页 / 共19页
T-SQL程序设计之批处理与程序流程控制语句.ppt_第2页
第2页 / 共19页
T-SQL程序设计之批处理与程序流程控制语句.ppt_第3页
第3页 / 共19页
T-SQL程序设计之批处理与程序流程控制语句.ppt_第4页
第4页 / 共19页
T-SQL程序设计之批处理与程序流程控制语句.ppt_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《T-SQL程序设计之批处理与程序流程控制语句.ppt》由会员分享,可在线阅读,更多相关《T-SQL程序设计之批处理与程序流程控制语句.ppt(19页珍藏版)》请在三一办公上搜索。

1、T-SQL程序设计之批处理与程序流程控制语句,批处理与程序流程控制语句,一般而言,一个服务器端的程序是由以下一些成分组成:批、注释、变量、流程控制语句、错误和消息处理。,1 批处理,定义:批指包含一条或多条T-SQL语句的语句组,这组语句从应用程序一次性地发送到SQL SERVER服务器执行,可提高效率。批结束的标志是“GO”。使用批限制:CREATE DEFAULT、CREATE PROCEDURE、CREATE RULE、CREATE TRIGGER 和 CREATE VIEW 语句不能在批处理中与其它语句组合使用。在同一个批中不能删除一个数据库对象又重建它。在同一个批中不能改变一个表后,

2、再立即引用其新列。若批处理中第一个语句是执行某个存储过程的EXECUTE语句,则EXECUTE可省略。,2 流程控制语句,顺序结构 输入数据 计算处理 输出数据选择结构循环结构,2 流程控制语句,1复合语句包括一系列的 Transact-SQL 语句,称为语句块。语法格式:BEGIN sql_statement/*是任何有效的 Transact-SQL 语句 n END说明:BEGIN.END 语句块允许嵌套 Begin和End之间必须有内容,和C语言不同,2 流程控制语句,2PRINT语句将用户定义的消息返回客户端。语法格式:PRINT any ASCII text|local_variab

3、le|FUNCTION|string_expr说明:any ASCII text:一个文本字符串。local_variable:任意有效的字符数据类型变量。FUNCTION:是返回字符串结果的函数。string_expr:是返回字符串的表达式。课外:,2 流程控制语句,3判断语句(IFELSE)语法格式:IF boolean_expression/*条件表达式 sql_statement|statement_block/*条件表达式为真 ELSE sql_statement|statement_block/*条件表达式为假 说明:如果条件表达式中含有SELECT语句,必须用圆括号将SELECT

4、语句括起来。必须是语句块,【例】如果“计算机文化基础”的平均成绩高于75分,则显示“平均成绩高于75分”;否则显示“平均成绩低于75分”。USE XSDECLARE text1 char(20)SET text1=平均成绩高于75分IF(SELECT AVG(成绩)FROM XSCJ,KCXX WHERE XSCJ.课程编号=KCXX.课程编号 AND 课程名称=计算机文化基础)=75 BEGIN SELECT text1=平均成绩低于75 SELECT text1 ENDELSESELECT text1 GO,【例】IF.ELSE语句的嵌套使用。USE XSIF(SELECT AVG(成绩)

5、FROM XSCJ,KCXX WHERE XSCJ.课程编号=KCXX.课程编号 AND 课程名称=计算机文化基础)75 SELECT 平均成绩高于75.ELSE IF(SELECT AVG(成绩)FROM XSCJ,KCXX WHERE XSCJ.课程编号=KCXX.课程编号 AND 课程名称=计算机文化基础)75 SELECT 平均成绩低于75.ELSE SELECT 平均成绩为75.GO,2 流程控制语句,无条件转移(GOTO)语句将执行流程转移到标号指定的位置。语法格式:GOTO label Label是指向的语句标号,标号必须符合标识符规则。标号的定义形式:label:语句,补充:,

6、declare a intset a=0l:USE XSuse xs1if a1 begin set a=1 goto l end-无begin end会如何?,2 流程控制语句,4循环语句WHILE、BREAK语句和CONTINUE语句(1)WHILE循环语句语法格式:WHILE boolean_expression sql_statement|statement_block/*循环体说明:如果条件表达式中含有SELECT语句,必须用圆括号将SELECT语句括起来。,【例】求1+2+3+100之和。DECLARE i int,s intSET s=0SET i=1WHILE i101 BEG

7、IN SET s=s+i SET i=i+1 ENDPRINT 和是+STR(s),2 流程控制语句,(2)BREAK语句 一般用在循环语句中,用于退出本层循环。当程序中有多层循环嵌套时,使用BREAK语句只能退出其所在的这一层循环。语法格式:BREAK(3)CONTINUE语句 一般用在循环语句中,结束本次循环,重新转到下一次循环条件的判断。语法格式:CONTINUE,Break/Continue例子,DECLARE i int,j int,s intSET s=0SET i=1SET j=1WHILE i3 break SET s=s+j SET j=j+1 END SET i=i+1 E

8、ND PRINT 和是+str(s)-break换成continue效果?,2 流程控制语句,5RETURN语句 用于从批处理或语句块中无条件退出,不执行位于RETURN之后的语句。语法格式:RETURN integer_expression 说明:integer_expression是将整型表达式的值返回。存储过程可以给调用过程或应用程序返回整型值除非特别指明,所有系统存储过程返回0值表示成功,返回非0值则表示失败。当用于存储过程时,RETURN不能返回空值。,2 流程控制语句,WAITFOR语句 语法格式:WAITFOR DELAY time|TIME time 参数含义:DELAY ti

9、me:用于指定SQL Server必须等待的时间,最长可达 24 小时,time可以用datetime 数据格式指定,用单引号括起来,但在值中不允许有日期部分,也可以用局部变量指定参数。TIME time:指定SQL Server 等待到某一时刻,time值的指定同上。【例】select getdate()waitfor delay 00:00:04 select getdate(),select getdate()go waitfor time 23:02:55 select getdate(),2 流程控制语句,6注释注释是为SQL语句加上注释正文,以说明该代码的含义,增加代码的可读性。有两种用法,注释多行用/*/注释一行用-,Thank You!,Add your company slogan,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号