本章目标
掌握变量的定义和使用 掌握输出语句 掌握逻辑控制语句 理解批处理的概念
批处理的作用:
可以使不在同一批处理中的SQL语句相互之间不受影响
把互相联系的放在同一批次,没联系的放在不同批次
变量要先用DECLARE 关键字声明,然后用SET或SELECT赋值
1.局部变量前必须有@做前缀 先声明再赋值 只在定义它的局部范围内有效
2.全局变量必须有@@做前缀 由系统定义和维护 只能读取,不能修改 在整个SQL环境下都可以使用
变量的输出可以用:PRINT或SELECT语句。
声明
DECLARE @ 变量名 数据类型
赋值
SET @变量名=值 用于普通的赋值
SELECT @b变量名= 值 用于从表中查询数据并赋值
例题:查询表中学号最小的学生姓名
declare @stuname varchar(20)
select @stuname=stuname from stuinfo order by stuid desc
print @stuname
强制转换:convert(转换类型,声明的变量名)
例题:找出王五学号前后的学生
declare @sid int
select @sid=stuid from stuinfo where stuname='王五'
print '王五的学号为:'+convert(varchar(20),@sid)
select * from stuinfo where stuid=@sid-1 or@sid+1
输出语句
PRINT变量或表达式:以消息形式进行显示
SELECT变量或表达式:以表格(选择集)形式进行显示
IF-ELSE逻辑控制语句
语法
if(条件)
begin
语句1
语句2
end
else
begin
语句1
语句2
end
CASE-END逻辑控制语句
CASE-END多分支语句
case
when条件1then结果1
when条件2then结果2
...
else其他结果
end
循环语句
while(条件)
begin
语句1
语句2
...
break
end