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

来源:互联网 发布:linux 绝对路径 编辑:程序博客网 时间:2024/05/21 10:41
--上课内容:第五单元 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    -- 给局部变量赋值的语法:SETSELECT    -- SET 命令语法:       SET @变量名=表达式         -- 只能给一个变量赋值      -- 例:        set @var1=100    -- SELECT 命令语法:       SELECT @变量名=表达式[,...N]       -- 可以给多个变量赋值      -- 例:        select @var1=100,@var2=90 -- 例:定义2个局部变量VAR1 数据类型为INT,VAR2 数据类型为INT,显示2个变量的值及它们的差declare @var1 int,@var2 intselect @var1=100,@var2=90select @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>90select @@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=100declare @var1 intset @var1=100select @var1 as '值'select '@var='+str(@var1,3) as '变量值'
0 0
原创粉丝点击