局部变量:1、局部变量必须以@作为前缀。2、局部变量的使用是先声明,后赋值。
全局变量:1、全部变量必须以@@作为前缀。2、全局变量有系统定义和维护,只能读取不能修改全局变量的值。
sql Server2008常用的全局变量
变量名 作用
@@ERROR 返回执行的上一个Transac-sql语句的错误号
@@IDENTITY 返回最后插入的标识值
@@MAX_CONNECTIONS 返回sql Server实例允许同时进行的最大用户连接数
@@ROWCOUNT 返回受上一语句影响的行数,如果大于20亿则使用ROWCOUNT_BIG
@@SERVERNAME 返回运行sql Server的本地服务器的名称
@@SERVICENAME 返回sql Server正在运行的注册表项的名称,若当前实例为默认实例,则@@SERVICENAME 返回MSsqlSERVER
若当前实例是命名实例,则函数返回该实例名
@@TRANCOUNT 返回当前连接的活动事物数
@@LOCK_TIMEOUT 返回当前会话的锁定超时设置
定义局部变量并赋值
1、声明局部变量
语法:DECLARE @varname DataType 例如:declare @varname varchar(20)
语法说明:@varname 为局部变量名,DataType为变量的数据类型
2、为局部变量赋值
语法:SET @varname=VALUE或SELECT @varname=VALUE
*注意:SET关键字通常将已经确定的常量赋值给局部变量。SELECT关键字通常将从数据库中查询出的结果赋值给局部变量,
前提是查询的结果必须和变量类型保持一致,或者是可以自动转换的类型,如果查询的结果超过一条记录,则取最后一条记录
值赋给局部变量。
TABLE数据类型
T-sql中的变量类型可以是sql Server中除了TEXT、TEXT、IMAGE外的所有类型,较为特殊的如TABLE类型。TABLE类型定义的变量和普通
的表结构完全相同,因此该类型变量与临时表的作用相似
实例如下:
--TABLE类型举例
DECLARE @MyTable TABLE(ACCOUNT_NAME varchar(20),CODE varchar(18))
--为TABLE类型的变量赋值
INSERT @MyTable SELECT '诸葛亮','421025522122512251' UNION
SELECT '周瑜','5522586456669988555'
SELECT * FROM @MyTable
--将变量的值插入ACCOUNT表中
INSERT INTO ACCOUNT SELECT ACCOUNT_NAME,CODE FROM @MyTable
SELECT * FROM ACCOUNT
GO
GO语句
T-sql执行到GO语句时,sqlCMD和查询窗口将GO前面已经定义的局部变量清楚,被GO
分开的局部变量不能共享。即GO 语句是作为批处理语句的结束标记,可以控制T-sql
变量的作用域。
SELECT在结果中输出,PRINT在消息中输出
*注意:PRINT语句数出的变量要求是字符串类型,否则将使用CONVERT函数进行转换
逻辑运算符 1、ALL关键字:主要用于比较特定值与结果集的所有值之间的逻辑关系,结果为布尔值。通常与比较运算符一起使用。 2、ANY关键字:主要用于比较特定值与结果集的所有值之间的逻辑关系,结果为布尔值。通常与比较运算符一起使用。 3、EXISTS关键字:用于判断查询的结果集是否存在特定数据,若果存在则返回TRUE,否则返回FALSE.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。