转载地址:
变量
变量是一种可以存储数据值的对象,变量可以分为局部变量和全局变量。
1、局部变量
局部变量是用户自定义的变量,它的作用范围仅在程序内部,
使用:以@开头,且必须先使用DECLARE命令说明后才可以使用
声明变量:
DECLARE @变量名 数据类型
DECLARE @id char (10) --声明一个长度为个字符的变量id
DECLARE @age int --声明一个存放职员年龄的整型变量
赋值:
SET @变量名=值:用于普通的赋值
SELECT @变量名=值:用于从表中查询数据并赋值
使用变量:
2、全局变量
是SQL Server系统内部使用的变量,由系统定义和维护,我们只能使用,不能修改。
引用全局变量时必须使用@@开头
常用的全局变量
两种变量的区别
输出语句
有两种输出语句
PRINT 变量表达式 :以消息的形式进行显示
SELECT 变量或表达式:以表格(选择集)的形式进行显示
使用convert函数
逻辑控制语句
IF-ELSE
语法:
IF<条件表达式>
BEGIN
<命令行或程序块>
END
[ELSE[条件表达式]
BEGIN
<命令行或程序块>]
END
WHILE…CONTINUE….BREAK
语法:
WHILE<条件表达式>
BEGIN
<命令行或程序块>
[BREAK]
[CONTINUE]
[命令行或程序块]
END
CASE
语法:
CASE
WHEN<条件表达式1>THEN<运算式结果1>
WHEN<条件表达式2>THEN<运算式结果2>
[ELSE<运算式>]
END
批处理
GO关键字标志这批处理的结束
如果批处理语句中出现编译错误(如语法错误)可使执行计划无法编译。因此未执行批处理中的任何语句。
批处理可以提高语句执行的效率。
SELECT INTO
从一个表复制数据,然后把数据插入到另一个新表中。
SELECT column_name(s)
INTO newtable [IN externaldb]
FROM table1;
具体例子:
#选出有先行课cpno的且分数大于85的数据
select sname,cname,grade,ccredic into 选课记录表
from student,sc,course
where student.sno=sc.sno
and sc.cno=course.cno and cpno is not null
select *
from 选课记录表
where grade>85