T-SQL(1)-变量

使用变量
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=‘s 25302’  
必须确保筛选出的记录只有 1 ,否则取最后一条,所以 T SQL 语句后面一般接 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(‘ 武松 ’,’s 25328’ ,’ ’,’ 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

你可能感兴趣的:(数据库,变量,职场,t-sql,休闲)