第三课Transact-SQL语言之变量(2)
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.全局变量
全局变量是由SQL Server系统提供并赋值的变量,名 字由“@@”符号开始。用户不能建立全局变量,也不可 使用SET语句去修改全局变量的值。 全局变量分为两类: 一是与SQL Server连接有关的全局变量,如: @@rowcount表示受最近一个语句影响的行数; 二是与系统内部信息有关的全局变量,如: @@version表示SQL Server的版本号。
【例】对于前面所述的XSDA表中的民族字段可用如下程序实现默认 值设置为“汉”。 USE XS GO CREATE DEFAULT mz_default AS '汉' GO EXEC sp_bindefault 'mz_default1','XSDA.民族' GO 【例】在XS数据库中创建名为rxdate的默认值对象(取值为当前系 统日期),然后将其绑定到XSXX表(例5-1中创建)的入学日期列。 USE XS GO CREATE DEFAULT rxdate AS getdate() GO EXEC sp_bindefault 'rxdate','XSXX.入学日期' GO
【例8-4】使用SELECT语句查询全局变量。 SELECT @@version as 版本 SELECT @@language as 语言 课外:
2.常用全局变量
名称 @@connections @@rowcount @@error @@procid @@remserver 说明 返回当前服务器的连接数目 返回上一条T-SQL语句影响的数据行数 返回上一条T-SQL语句执行后的错误号 返回当前存储过程的ID号 返回登录记录中远程服务器的名字
@@spid @@version
返回当前SQL Server服务器的版本和处理器类 型
返回当前SQL Server服务器的语言
默认值对象
② 使用系统存储过程绑定默认值对象 sp_bindefault [@defname=]’default’, [@objname=]’object_name’
(2)局部变量的赋值 ①用SET语句赋值 语法格式: SET @局部变量名=表达式 说明: 局部变量是除cursor、text、ntext、image外的 任何类型变量。 课外:
1.局部变量
②用SELECT语句赋值 语法格式: SELECT {@局部变量=表达式} [,…n] 说明: 局部变量是除cursor、text、ntext、image外的 任何类型变量。 n:表示可给多个变量赋值。 课外:
LOGO
Transact-SQL语言 之变量
变量
变量用于临时存放数据,变量中的数据随着程 序的运行而变化。分为局部变量和全局变量: 局部变量是用来存储指定数据类型的单个数据 值的对象。 @ 全局变量是由系统提供且预先声明的用来保存 SQL Server系统运行状态数据值的变量。 @@
1.局部变量
【例】使用查询给变量赋值。 USE XS DECLARE @student char(8) SELECT @student=姓名 FROM XSDA SELECT @student GO
SELECT通常用于将单个值返回到变量中,如果表达 式为列名,则返回多个值,此时将返回的最后一个值 赋给变量。 课外:
selectversionselectlanguage名称说明connections返回当前服务器的连接数目rowcount返回上一条tsql语句影响的数据行数error返回上一条tsql语句执行后的错误号procid返回当前存储过程的id号remserver返回登录记录中远程服务器的名字spid返回当前服务器进程的id标识version返回当前sqlserver服务器的版本和处理器类language返回当前sqlserver服务器的语言spbindefaultdefnamedefaultobjectname指定准备绑定默认值对象的表的列名格式为
说明: default指定默认值对象名; object_name指定准备绑定默认值对象的表的列名 (格式为:表名.字段名)或用户定义的数据类型名。不 能将默认值对象绑定到timestamp数据类型的列、带 IDENTITY属性的列或者已经有DEFAULT约束的列; 课外阅读:
【例】创建局部变量@var1、@var2,并使用查询给变量赋 值 USE XS DECLARE @var1 varchar(20),@var2 varchar(20) SELECT @var1=姓名,@var2=系名 FROM XSDA WHERE 学号='200501' SELECT @var1,@var2 GO USE XS DECLARE @var1 varchar(20),@var2 varchar(20) SELECT @var1=姓名,@var2=系名 FROM XSDA WHERE 系名='信息' SELECT @var1,@var2 GO
LOGO
Add your company slogan
(1)局部变量的定义 语法格式: DECLARE {@局部变量名 数据类型} [,…n] 说明: n:表示可定义多个变量,各变量间用“,” 隔开。 局部变量的作用范围从声明该局部变量的地方 开始,到声明的批处理或存储过程的结尾。 所有局部变量在声明后均初始化为NULL。
1.局部变量