📄 实例12(变量).sql
字号:
--上课内容:第五单元 Transact-SQL语言(变量)
-- 5.1 变量
-- 5.1.1 全局变量
select @@version as '当前安装的日期、版本、处理器类型'
select @@idle as '闲置毫秒数',getdate() as '当前日期'
@@error -- 返回程序的错误代码
-- 例:
create table aa(aa_id int primary key,aa_name char(10))
insert into aa values(1,'aa1')
select @@error as '第一次插入错误'
insert into aa values(1,'aa2')
select @@error as '第二次插入错误'
-- 5.1.2 局部变量
-- 5.1.2.1 概念:
-- 局部变量只在声明局部变量的批处理、存储过程或语句块中使用
-- 局部变量只能用于在表达式中,不能代替对象名或关键字
-- 局部变量必须先用DECLARE命令声明后再使用
-- 所有局部变量在声明后均初始化为NULL
-- 使用局部变量要加上标示符 @
-- 5.1.2.2 语法:
-- 声明局部变量的语法:
DECLARE @变量名 数据类型[,...N]
-- 例:
declare @var1 int
declare @var1 int,@var2 int
-- 给局部变量赋值的语法:SET 和 SELECT
-- SET 命令语法:
SET @变量名=表达式 -- 只能给一个变量赋值
-- 例:
set @var1=100
-- SELECT 命令语法:
SELECT @变量名=表达式[,...N] -- 可以给多个变量赋值
-- 例:
select @var1=100,@var2=90
-- 例:定义2个局部变量VAR1 数据类型为INT,VAR2 数据类型为INT,显示2个变量的值及它们的差
declare @var1 int,@var2 int
select @var1=100,@var2=90
select @var1 as 'var1', @var2 as 'var2',@var1- @var2 as '差'
-- 练习:
-- 1. 使用全局变量@@rowcount查看exam表的成绩大于90的记录数
-- 2. 使用全局变量@@version查看SQL SERVER 版本
-- 3. 使用全局变量@@CONNECTIONS查看试图登陆的次数
-- 4. 显示系统当前日期
-- 5. 声明2个局部变量 字符型,分别赋值为'sql ','server',显示2个字符串的和
-- 6. 声明一个局部变量@var1 int,给它赋值100,显示“@var1=100”
-- 练习参考答案:
-- 1. 使用全局变量@@rowcount查看exam表的成绩大于90的记录数
select * from exam where t_grade>90
select @@rowcount as '查询行数'
-- 2. 使用全局变量@@version查看SQL SERVER 版本
select @@VERSION as 'SQL SERVER 版本'
-- 3. 使用全局变量@@CONNECTIONS查看试图登陆的次数
select @@CONNECTIONS as '试图登陆的次数'
-- 4. 显示系统当前日期
select GETDATE() as '系统当前日期'
-- 5. 声明2个局部变量 字符型,分别赋值为'sql ','server',显示2个字符串的和
declare @var1 char(3),@var2 char(6)
set @var1='sql'
set @var2='server'
select @var1+' '+@var2 as '合并字符串'
-- 6. 声明一个局部变量@var1 int,给它赋值100,显示“@var1=100”
declare @var1 int
set @var1=100
select @var1 as '值'
select '@var='+str(@var1,3) as '变量值'
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -