6.4变量和语句 (课件)《网站数据库应用技术-SQL Server2005》同步教学(机械工业出版社)
2024-03-26
|
22页
|
50人阅读
|
1人下载
普通
内容正文:
6.4变量和语句
语言基础
变量和语句
局部变量
全局变量
T-SQL
T-SQL语言基础
变量
局部变量
指名称以一个@字符开始,由用户自己定义和赋值的变量
变量声明
变量赋值
返回
局部变量
变量声明
DECLARE语句声明变量,并在声明后将变量的值初始化为NULL
基本语句:
示例
【例6-7】
【例6-8】
局部变量
DECLARE @variable_name date_type
[,@variable_name data_type…]
【例6-7】
声明一个datetime类型变量
DECLARE @birthday datetime
返回
【例6-8】
声明两个变量@var1和@var2,它们的数据类型分别为int和char
DECLARE @var1 INT,@var2 CHAR(8)
DECLARE语句中可以同时声明多个局部变量,它们相互之间用
逗号分隔
返回
局部变量
变量赋值
变量声明后,DECLARE语句将变量初始化为NULL ,可使用SET语句为变量赋值
基本语句:
示例
【例6-9】
【例6-10】
局部变量
SELECT @variable_name = expression
[FROM <表名> WHERE <条件>]
【例6-9】
利用SET语句为所声明的@birthday变量赋值
DECLARE @birthday datetime
SET @birthday = '2006-4-1'
返回
【例6-10】
用SELECT语句将Course表中的最高学分赋值给变量@maxxf:
返回结果:
USE student
DECLARE @maxxf INT
SELECT @maxxf = MAX (c_credit)
FROM course
PRINT @maxxf
返回
声明@maxxf变量
给@maxxf变量赋值
输出@maxxf的值
5
变量
全局变量
指由系统定义和维护,名称以@@字符开始的变量
注意要点
全局变量不是由用户的程序定义的,它们是在服务器级定义的。
用户只能使用预先定义的全局变量。
引用全局变量时,必须以标记符“@@”开头
局部变量的名称不能与全局变量的名称相同
常用全局变量
@@ERROR 【例6-11】
@@ROWCOUNT 【例6-12】
@@IDENTITY
返回
【例6-11】
使用 全局变量@@ERROR 在一个 UPDATE 语句中检测限制检查冲突(错误 #547)
返回结果
USE student
GO
UPDATE information SET s_sex = '工'
WHERE s_no = '20021003010'
IF @@ERROR = 547 PRINT '违反Check约束!'
返回
返回最后执行的T-SQL语句的错误代码
返回类型为integer
【例6-12】
执行 UPDATE 语句并用 @@ROWCOUNT 来检测是否有发生更改的行
返回结果
USE student
GO
UPDATE information
SET s_name = '张三'
WHERE s_no = '200200000001'
IF @@ROWCOUNT = 0 PRINT '警告:没有数据被更新!'
返回
返回受上一语句影响的行数
语言基础
显示和输出语句
PRINT语句
RAISERROR语句
T-SQL
T-SQL语言基础
显示与输出语句
PRINT语句
把用户定义的消息返回客户端
基本语句:
示例
输出‘Hello World’字符串
显示与输出语句
PRINT 'any ASCII text' | @local_variable
| @@FUNCTION | string_expr
PRINT ‘Hello World’
显示与输出语句
RAISERROR语句
返回用户定义的错误信息
基本语句:
示例
使用RAISERROR
返回结果
显示与输出语句
RAISERROR ( { msg_id | msg_str }
{ , severity , state } )
RAISERROR ('发生错误', 16, 1)
语言基础
流程控制语句
流程控制语句用于控制T-SQL的执行流程
BEGIN…END语句
条件语句
转移语句
循环语句
返回语句
T-SQL
T-SQL语言基础
流程控制语句
BEGIN…END语句
基本语句格式
示例:
流程控制语句
BEGIN
{SQL语句|语句块}
END
DECLARE @MyVar float
SET @MyVar = 456.256
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。