您的位置:首页 > 数据库

讲义12:批处理、脚本、变量

2015-12-06 00:13 351 查看
--上课内容:第五单元 Transact-SQL语言(批处理、脚本、变量)

-- 5.1 批处理

-- 5.1.1 概念:

-- 批处理是一个或多个相关SQL 语句的集合,用 GO 语句作为批处理的结束标志。

-- 如果没有 GO 语句,默认所有的语句属于一个批处理。

-- 5.1.2 特点:

-- SQL SERVER 程序发送和编译以批处理为一个程序执行单元。

-- 如果一个批处理中任何一个语句有语法出错,则整个批处理都不能执行。

-- 5.1.3 注意事项:

-- 5.2 SQL 脚本文件

-- 定义:脚本就是包含一个或多个批处理的程序文件

-- 脚本可以重复使用,可以在不同计算机上传递

-- 脚本可以在查询分析器里执行

-- 5.3 变量

-- 5.3.1 全局变量

select @@version as '当前安装的日期、版本、处理器类型'
select @@idle as '闲置毫秒数',getdate() as '当前日期'
select @@CONNECTIONS as '试图登陆的次数'

@@error -- 其值为最后一次执行错误SQL语句产生的错误代码

-- 例:
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 '第二次插入错误'

create table bb(bid int identity(1,1),bname varchar(10))
insert into bb values('b1')
select @@identity

-- 5.3.2 局部变量

-- 5.3.2.1 概念:

-- 局部变量只在声明局部变量的批处理、存储过程或语句块中使用

-- 局部变量只能用于在表达式中,不能代替对象名或关键字

-- 局部变量必须先用DECLARE命令声明后再使用

-- 所有局部变量在声明后均初始化为NULL

-- 使用局部变量要加上标示符 @

-- 5.3.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. 声明2个局部变量 字符型,分别赋值为'sql ','server',显示2个字符串的和

-- 5. 声明一个局部变量@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. 声明2个局部变量 字符型,分别赋值为'sql ','server',显示2个字符串的和
declare @var1 char(3),@var2 char(6)
set @var1='sql'
set @var2='server'
select @var1+' '+@var2 as '合并字符串'

-- 5. 声明一个局部变量@var1 int,给它赋值100,显示“@var1=100”
declare @var1 int
set @var1=100
select @var1 as '值'
select '@var='+str(@var1,3) as '变量值'
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  sql server