Transact-SQL简介

行注释:行注释符为“--”这是ANSI标准的注释符,用于单行注释。
块注释:块注释为“/*。。。*/”


SQL Server标识符分为两类:规则标识符,界定标识符。

其中,规则标识符严格遵守标识符的有关格式的规定,所以在Transact_SQL中凡是规则运算符都不必使用定界符。对于不符合标识符格式的标识符要使用界定符[]



标识符格式:

1)标识符必须是统一码(Unicode)2.0标准中规定的字符,包括26个英文字母a-z和A-Z,以及其他一些语言字符,如汉字。  

2)标识符后的字符可以是_@#$及数字。  

3)标识符不允许是Transact-SQL的保留字。  

4)标识符内不允许有空格和特殊字符。

5)标识符不区分大小写。

@开头的标识符表示这是一个局部变量或是一个函数的参数;以#开头的标识符表示这是一个临时表或是一存储过程。

##开头的表示这是一个全局的临时数据库对象。

Transact-SQL的全局变量以@@开头。

无论是界定标识符还是规则标识符都最多只能容纳128个字符,对于本地的临时表最多可以有116个字符。


定义变量@sumint类型:DECLARE@sumint

定义变量@snamenvarchar(10)类型,定义变量@snumint类型:DECLARE @sname nvarchar(10),@snumint



局部变量在赋值之前,默认为NULL

如果在程序中引用它,必须要先为其赋值。

(1)用SET语句给局部变量赋值

       SET  @局部变量名 =变量值

(2)在查询语句SELECT给局部变量赋值

     SELECT{@局部变量名 =变量值}[,…n]

局部变量的输出

PRINT @ 局部变量



BEGIN END

语句块的界定,相当于C语言中的“{   }”

BEGIN

     {

      sql_statement |statement_block

      }

END

注意:BEGIN和END语句必须成对使用



多条件分支选择  CASE

CASE具有以下两种格式:

1简单表达式,将某个表达式与一组简单表达式进行比较以确定结果。

2选择表达式,计算一组布尔表达式以确定结果。

1)简单表达式

CASE input_expression

     WHEN    THEN

      [ ...n ]

     [ ELSE… ]

END

<span style="color:#000000;">SELECT [姓名],
CASE 
WHEN [入学时间]=1 THEN 'NAN'
WHEN [入学时间]=2 THEN 'NV'
ELSE 'NUZHIDAO'
END
FROM [dbo].[软件1405——406$]</span>

2)选择表达式

CASE

     WHEN    THEN

      [ ...n ]

     [ ELSE… ]

END

<span style="color:#000000;">SELECT [姓名],
CASE [入学时间]
WHEN '2014' THEN 'NAN'
WHEN '2' THEN 'NV'
ELSE 'NUZHIDAO'
END
FROM [dbo].[软件1405——406$]</span>




循环语句WHILE

计算从 1 加到 100 并输出结果。
<span style="color:#000000;">DECLARE @SUM100 INT, @i INT
SET @SUM100=0
SET @i=0
WHILE @i<=100
BEGIN
SET @SUM100=@SUM100+@i
SET @i=@i+1
END
PRINT @SUM100
</span>




GOTO语句将程序无条件地转到相应的标签的语句:

DECLARE@sum100 int,@iint

SELECT@ sum100=0@i=0

My_Loop: --标签要符合命名规则,并且有“:”

SET @sum100=@sum100+@i

SET @i=@i+1

IF @i<=100

GOTO My_Loop

PRINT @sum100

不利于程序阅读,不符合结构化程序的三种思想,因此不提倡用GOTO语句



延时语句 WAITFOR

WAITFOR语句可以将它之后的语句在一个指定的时间间隔之后执行,或在未来的某一指定时间执行。

WAITFOR {DELAY延时时间’ |TIME 到达时间’}

WAITFORDELAY '0:00:05'  --必须是datetime数据类型,但不能包含日期部分,不超过24小时

PRINT 时间到!’

WAITFORTIME ‘20:00:00'  --必须是datetime数据类型,但不能包含日期部分

PRINT 下课喽!’

WAITFOR DELAY '0:00:05'
PRINT '时间到!'


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值