您的位置:首页 > 数据库

T-SQL变量申明及若干函数笔记

2011-10-22 18:57 218 查看
(1)@:用户定义 局部变量(作用域在本批中,变量间不可用go 分隔,否则报错)

@@:系统定义 全局变量

例:

Declare @a int(对)

Declare @b int (对)

Declare @a,@b int (错)

Declare @a int,@b int (对)

对变量赋值:set / select

set:效率高 ,但只能给一个变量赋值 如:set @a=10 (建议)

select:效率低,但要同时给多个变量赋值必须要用select

set @A=10 ,@b=20 (错)

select @A=10 ,@b=20 (对)

(2)数据类型的转换函数

cast(express as tpye)

convert(tpye,express)

eg:

print 'abc'+cast(123 as varchar(10))

print 'abc'+convert(varchar(10),123)

(3)isnull()函数 --区别于 is null(判断是否为空)

select isnull(location,'无信息') from orders

查询location字段是否为空,为空,则返回 无信息 不为空则返回Location原值。

(4) #表名:局部临时表,只在当前会话中有效

##表名:全局临时表,在所有的会话中有效

(5)T-SQL 只支持while循环

(6)waitfor函数

eg: waitfor delay '00:00:03'

print 'abc' ----------- 延迟3秒后显示执行结果

waitfor time '00:00:03'

print 'abc' ----------- 定时效果,在凌晨3秒显示执行结果

(7)异常Exception

RAISERROR:用户自定义的错误ID要在50000以上,50000以下是系统定义

severity:代表错误的严重程度,级别为0-25级(17级以下用户可以自己解决,17级以上找DBA解决)

0级表示可以正常显示,10级表示用户输入错误或不正确,11-16用户错误操作,17-25软件或硬件上的错误。

RAISERROR('错误ID’,错误的级别,状态)

RAISERROR('有怪兽',0,1) -->有怪兽

RAISERROR('有怪兽',11,1) -->消息208,级别11,状态1 第1行 有怪兽

RAISERROR('有怪兽',16,1) -->消息 50000,级别16 ,状态1,第1行 有怪兽

RAISERROR('有怪兽',20,1) with log -->消息 2407,级别16 ,状态1,第1行 有怪兽
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: