Sql server中常用的流程控制语句
一、条件语句:
(一) IF……ELSE语句语法
If 条件为真
语句段
Else
语句段
例:
If (select age from stu wherestuid=10)>18
Print ‘成年了’
Else
Print ‘未成年’
(二)IF ……ELSE IF …..ELSE 语句形式
例:
If (select grade from scorewhere stuid=97001)>95
Print ‘成绩为优秀’
Else if (select grade from scorewhere stuid=97001)>80
Print ‘成绩为良好’
Else if (select grade from scorewhere stuid=97001)>=60
Print ‘成绩为及格’
Else
Print ‘成绩为不及格,需要努力’
二、WHILE、BREAK和CONTINUE语句
While 值为真
语句块
Break:跳出循环
Continue:跳出本次循环
例1:Break
declare
@num int
begin
set @num=1
begin
while @num<=10
begin
if @num=6
begin
break
print @num
set @num=@num+1
end
end
end
例2:continue
declare
@num int
begin
set @num=0
begin
while @num<=10
begin
set @num=@num+1
if @num=6
continue
print @num
end
end
end
三、Return语句
Return语句用来无条件地退出一个select语句或者一个过程。
declare
@num int
begin
set @num=1
begin
while @num<=10
begin
set @num=@num+1
print @num
return
end
end
end
四、WAITFOR 语句
WAITFOR DELAY 时间:DBMS执行SQL语句需要等待的时间
例:begin
waitfor delay'00:00:05'
select * from stu
end
WAITFOR TIME 时间:DBMS需要等到某个时刻再执行SQL语句
例:
begin
waitfortime '15:07:44.403'
select * from stu
end