讲义13:流程控制
来源:互联网 发布:微信windows手机版 编辑:程序博客网 时间:2024/05/25 19:57
-- 上课内容:第五单元 T-SQL语言 (流程控制语句)-- 5.5 流程控制语句 -- 5.5.1 IF ...ELSE 语句 -- 用于在执行 Transact-SQL 语句时强加条件的条件判断语句。 -- 语法:IF Boolean_expression{ sql_statement | statement_block }[ELSE{ sql_statement | statement_block } ] IF 条件 条件满足时执行某个Transact-SQL 语句[ELSE 条件不满足时执行某个Transact-SQL 语句] -- 例1: if 26>25 print '26>25 条件满足' else print '26<25 条件不满足' if 21>25 print '21<25 条件满足' else print '21>25 条件不满足' -- ELSE 子句可选 if 26>25 print '26>25 条件满足' if 21>25 print '21<25 条件满足' -- 例2: if 21>25 print '21<25' print '条件满足' else print '21>25' print '条件不满足' -- 显示出错,必须要把一起执行的语句放在一个begin end里 -- 5.5.2 BEGIN ...END 语句 -- 用于将多个 Transact-SQL 语句组合为一个逻辑块。 -- 任何时候当控制流语句必须执行一个包含两条或两条以上 Transact-SQL 语句的语句块时,请使用 BEGIN 和 END 语句。 --语法 :BEGIN { sql_statement | statement_block }END if 21>25 BEGIN print '21<25' print '条件满足' END else BEGIN print '21>25' print '条件不满足' END -- 5.5.3 CASE 语句 -- 在pubs数据库authors表中,在不改变表内数据的前提下,显示州的全拼 -- 例5: SELECT au_id,au_lname,'StateName' =CASE WHEN state='CA' THEN 'California' WHEN state='KS' THEN 'Kansas' WHEN state='TN' THEN 'Tennessee' WHEN state='OR' THEN 'Oregon' ELSE 'Other' END FROM authors -- 例6: SELECT au_id,au_lname, StateName=CASE state WHEN 'CA' THEN 'California' WHEN 'KS' THEN 'Kansas' WHEN 'TN' THEN 'Tennessee' WHEN 'OR' THEN 'Oregon' ELSE 'Other' END FROM authors -- 例7: SELECT au_id,au_lname, CASE state WHEN 'CA' THEN 'California' WHEN 'KS' THEN 'Kansas' WHEN 'TN' THEN 'Tennessee' WHEN 'OR' THEN 'Oregon' ELSE 'Other' END AS StateName FROM authors -- 5.5.4 WHILE...BREAK...CONTINUE 语句 -- 只要指定的的条件为真,则 WHILE 语句重复语句或语句块。 -- 有两条 Transact-SQL 语句通常与 WHILE 同时使用:BREAK 或 CONTINUE。 -- BREAK 语句退出最内层 WHILE 循环,CONTINUE 语句重新开始 WHILE 循环。 -- 如果没有其它行可以处理,则程序可能执行 BREAK 语句。如果要继续执行代码,则可执行 CONTINUE 语句。 -- 语法:WHILE Boolean_expression{ sql_statement | statement_block }[ BREAK ]{ sql_statement | statement_block }[ CONTINUE ] -- 例3:-- 显示最终结果:declare @i intdeclare @j intselect @i=1,@j=1while @i<4 begin set @j=@i*@j set @i=@i+1 end select @i-1 as 'de ',@j as 'jicheng '-- 显示每个步骤的结果:declare @i intdeclare @j intselect @i=1,@j=1while @i<4 begin set @j=@i*@j set @i=@i+1 select @i-1 as 'de ',@j as 'jicheng ' end -- 例4:BREAK CONTINUE的用法declare @i intdeclare @j intselect @i=1,@j=1while @i<4 begin set @j=@i*@j set @i=@i+1 if @i=3 break else continue end select @i-1 as 'de ',@j as 'jicheng ' -- 5.5.5 GOTO 语句 -- 将执行流变更到标签处。 -- 跳过 GOTO 之后的 Transact-SQL 语句,在标签处继续处理。 -- GOTO 语句和标签可在过程、批处理或语句块中的任何位置使用。 -- GOTO 语句可嵌套使用。 -- 例8:用goto 语句来替换while语句的操作,完成例3的功能declare @i intdeclare @j intselect @i=1,@j=1lab: set @j=@i*@j set @i=@i+1 if @i<11 goto lab else select @i-1 as 'de ',@j as 'jicheng ' -- 5.5.6 WAITFOR 语句 -- 指定触发语句块、存储过程或事务执行的时间、时间间隔或事件。 -- 语法: WAITFOR { DELAY 'time' | TIME 'time' } -- 例9:等待3秒执行查询 WAITFOR DELAY '0:0:3' select * from authors -- 例10:等到某一时间执行查询 WAITFOR TIME '19:10' select * from authors -- 5.5.7 RETURN 语句 -- 例11: if 1>2 print '条件正确' else begin print '条件 ' return print '出错 ' end
0 0
- 讲义13:流程控制
- JAVA讲义 (二) 流程控制与数组
- 疯狂讲义第四章 流程控制和数组
- [疯狂Java讲义精粹] 第三章|流程控制与数组
- 浅谈iOS讲义第三章《流程控制与数组》
- 流程控制与数组——Java疯狂讲义
- 《疯狂JAVA讲义》之十三——流程控制
- Form 个性化控制讲义
- Form 个性化控制讲义
- 疯狂JAVA讲义---第四章(上):流程控制和数组
- 《疯狂Java讲义(第3版)》.(李刚)——流程控制
- (13)mysql中的流程控制
- 现代软件工程讲义 4 团队和流程
- 现代软件工程讲义 4 团队和流程
- 《疯狂Java讲义》——控制线程
- 控制流程
- 控制流程
- 流程控制
- Incorrect number of FETCH variables
- 讲义14:自定义函数
- ffmpeg tool 简单介绍
- TCP、UDP、HTTP、SOCKET之间的区别
- android的数据存储(一)
- 讲义13:流程控制
- 俄罗斯方块
- 1041. Be Unique (20)【水题】——PAT (Advanced Level) Practise
- 讲义12:批处理、脚本、变量
- 众数问题
- JS中的call与apply详解
- 图中两个点之间的路线
- 1042. Shuffling Machine (20)【模拟】——PAT (Advanced Level) Practise
- Spring3.2+Struts2.1.8+Mybatis3.2.7 项目搭建