局部变量声明语法:
DECLARE @variable_name datatype
[,@variable_name datatype]
......
变量赋值:
SET @variable_name=expression
全局变量:是SQL Server 预先声明并负责维护的变量。用户不能随意建立全局变量,也不能用SET语句来修改全部变量的值,全局变量的变量名均已@@开头
30多个全局变量,份两类
1、与当前SQL Server连接或与当前处理有关的全局变量
@@rowcount 表示最近一个sql语句影响的行数
@@error 标识最近执行的操作的错误状态
2、与整个系统有关的变量
@@version sql版本信息
@@cpu_busy 标识SQL Server 启动以来所占用的cpu运行时间。
常用的全局变量:
@@transtate 存储事务嵌套的层次
@@tranChained 存储当前事务的模式
@@servername SQL Server服务器的名称
@@spid 当前传递的ID号
@@identity 存储上一次INSERT操作所使用的identity值
@@nestlevel 存储过程或触发器的嵌套层次
@@fetch_status 存储上一条fetch语句的状态
变量
变量是一种可以存储数据值的对象,变量可以分为局部变量和全局变量。
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 input_expression
WHEN when_expression THEN result_expression
[....n]
[
ELSE else_result_expression
]
END
说明: input为条件表达式,when用于与input进行比较,值相等执行result,都不相等执行else
CASE(搜索型)
语法:
CASE
WHEN<条件表达式1>THEN<运算式结果1>
WHEN<条件表达式2>THEN<运算式结果2>
[ELSE<运算式>]
END
说明:首先测试WHEN后面的布尔表达式,如果值为真,则执行对应的运算式,否则进行下一个布尔表达式,如果没有值为真,则执行else运算式
批处理
GO关键字标志这批处理的结束
如果批处理语句中出现编译错误(如语法错误)可使执行计划无法编译。因此未执行批处理中的任何语句。
批处理可以提高语句执行的效率。
————————————————
版权声明:本文为CSDN博主「Angel Devil」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq3178124798/article/details/80180131