SQL SERVER2000教程-第七章 Transact-SQL编程 第二节 流程控制命令

1) 块结构:Begin----End
2)If-else- 条件分支:
如:
Use Pubs
Go --这是批处理标识符,表示上面的代码交给服务器编译
If (select avg(price) from titles where type=’mod_cook’)<15 --判断表中有此记录
   Begin
     Print ‘下列书是优秀的烹调书籍’
     Select substring(title,1,35) as title From titles Where type=’mod_book’
   End
Else
   Print ‘这是价格较为昂贵的烹调书籍’
3).  waitfor
Waitfor delay ‘时间’     延迟多长时间
  Waitfor time ‘时间’      具体某个时间执行
例1:
waitfor delay ’00:00:03’  --将在3秒钟之后执行select语句
select * from student
例2:
    waitfor time ’22:30:02’   --将在22:30:02s时执行select语句
    select * from student1
4) While(条件语句)条件循环
示例:
Create table test(id int,name char(3))
Go
Declare
@fcount int
set @fcount=0
  while (@fcount<6)
Begin
  --向字段id编号及name添加字符  并转换为ASCII码对应的字符
  Insert into Test values(@Fcount,CHAR(@Fcount+ASCII(‘a’)))
  Set @Fcount=@Fcount+1
End
5) Goto
说明:用来改变程序执行的流程,使程序跳到标有标识和程序继续执行;
语法:Goto 标识符
示例 :分行打印字符1至5
Declare @Fcount int
Begin
  Select @Fcount=1
  Label:
  Print  Cast (@Fcount as varchar)
  Select @Fcount=@Fcount+1
  While @Fcount<6
  Goto Label
End
6) Return语句
说明:无条件终止查询、存储过程或批处理处理。存储过程或批处理中Return语句后面的语句都不执行;当在存储过程中使用Return语句时,此
语句可以指定返回给调用的应用程序、批处理或过程的整数值。如Return未指定值,则存储过程返回0。大多数存储过程按常规使用返回代码表示
存储过程的成功或失败。没有发生错误时存储过程返回0。任何非零值表示有错误发生。
语法:Return [integer_expression]
(注:此处到讲解存储过程时再介绍)
7)Break 退出while循环 
8)Continue 结束本次循环
9)Case表达式
格式:case 判断表达式(变量)/选择条件表达式
when  表达式/条件  then  语句
   ………………
when  表达式  then  语句
end
例:
select name,chengji=
  case
     when  price<60 then  ‘不及格’
     when  price>60 then  ‘及格’
  end
  from student
10)批处理语句 Go
 

你可能感兴趣的:(数据库,while,end,waitfor,BEGIN)