现在的位置: 首页 > 综合 > 正文

T-SQL(1)-变量

2013年04月11日 ⁄ 综合 ⁄ 共 1351字 ⁄ 字号 评论关闭
 

使用变量

C语言一样,变量分为:

q       局部变量:

q       局部变量必须以标记@作为前缀 ,如@age

q       局部变量的使用也是先声明,再赋值

q       全局变量

q       全局变量必须以标记@ @作为前缀,如@@version

q       全局变量由系统定义和维护,我们只能读取,不能修改全局变量的值

 

局部变量

q       声明局部变量

     DECLARE   @变量名  数据类型

例如:

DECLARE @name varchar(8)

DECLARE @seat int

q       赋值

        SET @变量名 =

      SELECT  @变量名 =

例如:

SET @name=‘张三

SELECT @name=stuName FROM stuInfo

        WHERE stuNo=‘s25302’ 

必须确保筛选出的记录只有1,否则取最后一条,所以TSQL语句后面一般接WHERE筛选条件。

 

问题:编写T-SQL查找张三的左右同桌

分析:

第一步,找出张三的座位号;

第二步,张三的座位号加1或减1

例子:

/*--查找张三的信息--*/

DECLARE @name varchar(8)  --学员姓名

SET @name=‘张三        --使用SET赋值

SELECT * FROM stuInfo WHERE stuName = @name

/*--查找张三的左右同桌--*/

DECLARE @seat int  --座位号

SELECT @seat=stuSeat FROM stuInfo  --使用SELECT赋值

   WHERE stuName=@name

SELECT * FROM stuInfo

   WHERE (stuSeat = @seat+1) OR (stuSeat = @seat-1)

GO

 

全局变量

q       全局变量都使用两个@标志作为前缀

变量

含义

@@ERROR

最后一个T-SQL错误的错误号

@@IDENTITY

最后一次插入的标识值

@@LANGUAGE

当前使用的语言的名称

@@MAX_CONNECTIONS

可以创建的同时连接的最大数目

@@ROWCOUNT  

受上一个SQL语句影响的行数

@@SERVERNAME

本地服务器的名称

@@TRANSCOUNT

当前连接打开的事务数

@@VERSION      

SQL Server的版本信息

重点是粗线标识的全局变量,其他的可以到SQL Server帮助中查询。

 

例子:

print  ‘SQL Server的版本’+@@VERSION

print  服务器的名称: ‘+@@SERVERNAME

INSERT INTO stuInfo(stuName,stuNo,stuSex,stuAge)  

     VALUES(‘武松’,’s25328’,’’,’23’)

--如果大于0表示上一条语句执行有错误

print ‘当前错误号’+convert(varchar(5),@@ERROR)

 print ‘刚才报名的学员,座位号为:’ 

              +convert(varchar(5),@@IDENTITY )

UPDATE stuinfo SET stuAge=85

       WHERE stuName=‘张三

print ‘当前错误号’+convert(varchar(5),@@ERROR)

GO

 

 

抱歉!评论已关闭.