文档详情

数据库原理与应用SQL-Server-第8章.ppt

发布:2021-11-20约1.3万字共42页下载文档
文本预览下载声明
SQL Server 5 8.3.1 IF…ELSE语句 IF exists(SELECT * FROM Book WHERE Bname=sql server 5基础教程) BEGIN SELECT @cbook=COUNT(*) FROM Book WHERE Bname=sql server 5基础教程 PRINT sql server 5基础教程+RTRIM(CAST(@cbook AS char(4)))+册 END ELSE PRINT sql server 5基础教程没有! GO 执行结果: 英语书没有! sql server 5基础教程2册 第三十页,共42页。 SQL Server 5 8.3.2WHILE语句 设置重复执行 SQL 语句或语句块的条件。只要指定的条件为真,就重复执行语句。可以使用 BREAK 和 CONTINUE 关键字在循环内部控制 WHILE 循环中语句的执行。 语法: WHILE 逻辑表达式 Begin T-SQL语句组 [break]/*终止整个语句的执行*/ [continue]/*结束一次循环体的执行*/ END 备注:如果嵌套了两个或多个 WHILE 循环,则内层的 BREAK 将退出到下一个外层循环。将首先运行内层循环结束之后的所有语句,然后重新开始下一个外层循环。 第三十一页,共42页。 SQL Server 0 8.3.2WHILE语句 例8-12:一个小循环程序 DECLARE @X int SET @X=0 WHILE @x3 BEGIN SET @x=@X+1 PRINT x=+convert(char(1),@x) --类型转换函数convert END GO 执行结果: x=1 x=2 x=3 第三十二页,共42页。 SQL Server 0 8.3.3 GOTO语句 GOTO语句将执行语句无条件跳转到标签处,并从标签位置继续处理。GOTO语句和标签可在过程、批处理或语句块中的任何位置使用。其语法格式为: GOTO label 第三十三页,共42页。 SQL Server 0 8.3.4 WAITFOR语句 WAITFOR语句,称为延迟语句,设定在达到指定时间或时间间隔之前,或者指定语句至少修改或返回一行之前,阻止执行批处理、存储过程或事务。其语法格式为: WAITFOR { DELAY time_to_pass /* 设定等待时间 */ | TIME time_to_execute /* 设定等待带某一时刻 */ } 备注:执行 WAITFOR 语句时,事务正在运行,并且其他请求不能在同一事务下运行。WAITFOR 不更改查询的语义。如果查询不能返回任何行,WAITFOR 将一直等待,或等到满足 TIMEOUT 条件(如果已指定)。 第三十四页,共42页。 SQL Server 0 8.3.4 WAITFOR语句 例8-13:延迟30秒执行查询。 USE Library GO WAITFOR DELAY ’00:00:30’ SELECT * FROM Reader 例8-14:在时刻21:20:00执行查询。 USE Library GO WAITFOR TIME 21:20:00 SELECT * FROM Reader 第三十五页,共42页。 SQL Server 0 8.3.5RETURN语句 RETURN语句从查询或过程中无条件退出。RETURN的执行是即时且完全的,可在任何时候用于从过程、批处理或语句块中退出。RETURN之后的语句是不执行的。如果用于存储过程,RETURN不能返回空值。其语法格式为: RETURN [ integer_expression ] 第三十六页,共42页。 SQL Server 0 8.4 CASE表达式 计算条件列表并返回多个可能结果表达式之一。 CASE 具有两种格式: 简单 CASE 函数将某个表达式与一组简单表达式进行比较以确定结果。 CASE 搜索函数计算一组布尔表达式以确定结果。 两种格式都支持可选的 ELSE 参数。 第三十七页,共42页。 语法: 简单式 CASE 表达式 WHEN 表达式的值1 THEN 返回表达式1 WHEN 表达式的值2 THEN 返回表达式2 … ELSE 返回表达式n END SQL Server 5 第三十八页,共42页。 SQL Server 0 8. T-SQL编程与应用 目标: 掌握T-SQL语言基础 掌握表达式的使用 掌握流程控制语句的使用 熟练掌握CASE表达
显示全部
相似文档