内容正文:
SQL Server 2019高级应用
第9章
目录
01
T-SQL编程基础
02
游标
03
存储过程
04
触发器
本章主要内容
本章主要阐述T-SQL的标识符、运算符、表达式、函数、变量与常量、流程控制语句等基础知识,并结合实例探讨T-SQL最常见的应用,分析游标的基本原理和使用方法,重点介绍使用T-SQL创建、管理存储过程和触发器。
T-SQL编程基础
第9章
01
9.1.1 T-SQL语法元素
1.标识符:用来标识服务器、数据库和数据库对象。保留字不能作为标识符。
数据类型:用来定义数据对象。
运算符:表达式的组成部分。
表达式:将标识符、值和运算符按一定的规则连接起来的有意义的式子。
函数:可以有n个参数,并返回一个值或几个值的集合。
注释:作为程序说明性文字或调试程序时的辅助手段。
保留关键字:定义、操作或访问数据库。
9.1.2 常量
在程序运行过程中其值不会发生改变的量就是常量,又称文字值或标量值。
在T-SQL程序设计中,常量的格式取决于它所表示的数据值的数据类型,主要包含字符串常量、数值常量、日期常量等。
1.字符串常量
字符串常量需要以单引号(')括起来。
【例9.1】查询教师表teacher中职称为副教授的教师信息。
SELECT * FROM teacher
WHERE Prof='副教授';
9.1.2 常量
2.数值常量
数值常量包含的内容较多,所占用的存储空间的大小不同,表示的数据范围也各有不同。
3.日期常量
和字符串常量一样,日期常量使用特定格式的字符日期值表示,用单引号(')括起来。
【例9.2】查询教师表teacher中入职时间在1996年以后的教师信息。
SELECT * FROM teacher
WHERE Hiredate >'1996-12-31';
9.1.3 变量
变量用于临时存储数据,是在语句之间传递数据的方式之一,是可以对其赋值并参与运算的一个实体。变量分为局部变量和全局变量两类。
1.全局变量
全局变量是SQL Server 2019系统内部使用的变量,作用于任何程序。全局变量由系统定义和维护,用户只能使用预先说明及定义的全局变量,因此,全局变量对用户而言是只读的,用户无法对它们进行修改或管理。使用全局变量必须以两个“@@”开头。
9.1.3 变量
2.局部变量
T-SQL中的局部变量是由用户自定义和使用的变量,命名时不区分大小写,但不能与全局变量的名称相同。局部变量一般用于临时存储数据,方便在语句之间传递数值。局部变量的作用范围有限,仅局限在一个批处理、存储过程或触发器中。
局部变量以一个@为标记,如@变量名。T-SQL中的局部变量遵从先声明后使用的原则。用DECLARE语句声明定义局部变量,其语法格式如下:
DECLARE @变量名 数据类型[(长度)] [,@变量名 数据类型[(长度)],…]
9.1.3 变量
2.局部变量
在对局部变量赋值时,可以选用SET命令或SELECT命令。其语法格式如下:
SET @变量名=变量值
SELECT @变量名=变量值[,@变量名=变量值…]
SET命令一次只能给一个局部变量赋值,SELECT命令可以一次性给多个局部变量赋值。
【例9.3】声明一个长度为6个字符的局部变量sno,并赋初值为'202001'。
DECLARE @sno nchar(6)
SET @sno=‘202001’ 或 SELECT @sno='202001'
SELECT命令也可以直接将查询的单值结果赋值给局部变量。
9.1.4 运算符
运算符是一种符号,用来指定在一个或多个表达式中执行的操作。SQL Server 2019为用户提供了丰富的运算符,主要包括算术运算符、赋值运算符、位运算符、比较运算符、逻辑运算符、字符串串联运算符、一元运算符等。
1.算术运算符:双目运算符,对两个表达式执行算术运算。
赋值运算符:等号(=),其为单目运算符。
位运算符:用来在整型数据或二进制数据(image类型除外)之间执行位操作,
是双目运算符。
4. 比较运算符:又称关系运算符,用来比较两个表达式之间的大小关系,也是双目运算符,通常用