Warning: Undefined array key "HTTP_REFERER" in /www/wwwroot/prod/www.enjoyasp.net/wp-content/plugins/google-highlight/google-hilite.php on line 58
?? ?declare@name char(30)@wage money
?? ??? ?select@name=e_name,@wage=e_wage
?? ??? ?from employee
?? ??? ?where emp_id=’10010001′
?? ??? ?select@name as e_name,@wage as e_wage
二、SQL流程控制命令
?? 1,if
?? ?select @x=1,@y=2, @z=3
if@x>@y
print‘x>y’ –打印字符串’x>y’ ? /print 代表输出到控制台
else if@y>@z
print’y>z’
else print’z>y’?
?? ?2,?BEGIN…END
?? ??? ?其语法如下:
BEGIN
<命令行或程序块>
END
BEGIN…END用来设定一个程序块,将在BEGIN…END内的所有程序视为一个单元执行BEGIN…END经常在条件语句,如IF…ELSE中使用。在BEGIN…END中可嵌套另外的BEGIN…END来定义另一程序块。
3 CASE
CASE 命令有两种语句格式:
CASE <运算式>
WHEN <运算式>THEN<运算式>
…
WHEN<运算式>THEN<运算式>
[ELSE<运算式>]
?se 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
4 WHILE…CONTINUE…BREAK
其语法如下:
WHILE <条件表达式>
BEGIN
<命令行或程序块>
[BREAK]
[CONTINUE]
[命令行或程序块]
END
WHILE 命令在设定的条件成立时会重复执行命令行或程序块。CONTINUE命令可以让程序跳过CONTINUE 命令之后的语句,回到WHILE 循环的第一行命令。BREAK 命令则让程序完全跳出循环,结束WHILE 命令的执行。WHILE 语句也可以嵌套。
5,其它命令。
?(1)PRINT
语法如下:
PRINT ‘any ASCII text’ | @local_variable | @@FUNCTION | string_expression
PRINT 命令向客户端返回一个用户自定义的信息,即显示一个字符串(最长为255个字符)、局部变量或全局变量。如果变量值不是字符串的话,必须先用数据类型转换函数CONVERT(),将其转换为字符串。其中,string_expression 是可返回一个字符串的表达式。表达式的长度可以超过8000 个字符,但超过8000 的字符将不会显示。
?(2)得到日期? SELECT GETDATE()??? SELECT CONVERT(varchar(100), GETDATE(), 20) : 2009-06-27 09:24:51
6,例子.
?遍历元素
DECLARE @vcum1 char(255)
DECLARE @vcum2 char(255)
DECLARE @vcum3 char(255)
OPEN cs1
FETCH cs1 INTO @vcum1, @vcum2,@vcum3
WHILE @@FETCH_STATUS = 0
BEGIN
?PRINT @vcum1
?FETCH NEXT FROM cs1 INTO @vcum1, @vcum2,@vcum3
?
END
CLOSE cs1
DEALLOCATE cs1注意:null是个非常特殊的值,什么值与null的运算结果都是null,常常导致语句错误。所以在设计库表结构时,常常设置default值,避免null的出现。但这样会增大数据文件的体积,浪费资源。当表中数值很稀疏时,这种浪费是非常惊人的。
判断是否等于null,不能用=null和<>null,要用 is null 和 is not null 。
设置字段值为null,可以用 update XX set YY=null。null外面不要加引号。
插入新记录用 insert XXX (YYY) values(null)。null外面不要加引号。
特别要注意null与”NULL”、”null”的区别。在SQL Server查询分析器中,null与”NULL”的显示完全相同,非常容易混淆!