WEB开发网
开发学院数据库MSSQL Server MS SQL基础教程:SQL流程控制命令 阅读

MS SQL基础教程:SQL流程控制命令

 2007-12-25 15:25:23 来源:WEB开发网   
核心提示:ENDCASEWHEN <条件表达式> THEN <运算式>WHEN <条件表达式> THEN <运算式>[ELSE <运算式>]ENDCASE命令可以嵌套到SQL命令中,例4-10:调整员工工资,MS SQL基础教程:SQL流程控制命令(2),工作级别为&l

END

CASE

WHEN <条件表达式> THEN <运算式>

WHEN <条件表达式> THEN <运算式>

[ELSE <运算式>]

END

CASE命令可以嵌套到SQL命令中。

例4-10:调整员工工资,工作级别为“1”的上调8%,工作级别为“2”的上调7%,工作级别为“3”的上调6%,其它上调5%。

use pangu

update employee

set e_wage =

case

when job_level = ’1’ then e_wage*1.08

when job_level = ’2’ then e_wage*1.07

when job_level = ’3’ then e_wage*1.06

else e_wage*1.05

end

注意:执行CASE子句时,只运行第一个匹配的子名。

4.6.4 WHILE…CONTINUE…BREAK

其语法如下:

WHILE <条件表达式>

BEGIN

<命令行或程序块>

[BREAK]

[CONTINUE]

[命令行或程序块]

END

WHILE 命令在设定的条件成立时会重复执行命令行或程序块。CONTINUE命令可以让程序跳过CONTINUE 命令之后的语句,回到WHILE 循环的第一行命令。BREAK 命令则让程序完全跳出循环,结束WHILE 命令的执行。WHILE 语句也可以嵌套。

例4-11:

declare @x int @y int @c int

例4-11:

declare @x int, @y int, @c int

select @x = 1, @y=1

while @x < 3

begin

print @x --打印变量x 的值

while @y < 3

begin

select @c = 100*@ x+ @y

print @c --打印变量c 的值

select @y = @y + 1

Tags:MS SQL 基础

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接