对于占用关键字等不符合规则的命名,可使用中括号[ ]括起来。
局部变量:
局部变量名必须以@开头,作用范围仅为程序内部。
常用用途:
1.作为计数器计算循环执行的次数或控制循环执行的次数
2.保存数据值以供控制流程语句测试
3.保存存储过程返回代码要返回的数据值或函数返回值
局部变量必须先声明后使用
声明格式为:
declare @局部变量名 数据类型 [,...n]
*可一次声明一个变量,也可一次声明多个变量。
*数据类型可以是所有sql server 支持的数据类型,也可以是用户自定义的数据类型
*初始化则其值为NULL。
*当数据类型为字符型时,要在数据类型中指明其最大长度;当数据类型为定点小数型时,要指明其精度和小数位数。
例: declare @name nchar(3) , @grade numeric(3,1)
为变量赋值
可用set或select 语句为变量赋值,格式为:
set @局部变量=变量值|表达式
或
select @局部变量=变量值|表达式
输出变量值
print @局部变量
或
select @局部变量
全局变量
全局变量是sql server 系统内部使用的变量,其作用范围并不局限于某一程序,而是任何程序均可随时调用。
常用于存储一些sql server的配置设置值和效能统计数据。
用户可在程序中用全局变量来测试系统的设定值或T-SQL命令执行后的状态值。
引用全局变量时,全局变量名必须以‘@@’开头。不能定义与全局变量同名的局部变量。
从sql server7.0 开始,全局变量就以系统函数的形式使用。
例通过全局变量:
@@ERROR的值获取系统的错误信息
@@SERVERNAME的值获取本地服务器的名称
@@VERSION的值获取当前sql server 的版本号