第7章 Transact-SQL程序设计 7.1 Transact-SQL语言基础 ●7.2 SELECT查询语句 ●73流程控制语包
第7章 Transact-SQL 程序设计 7.1 Transact-SQL语言基础 7.2 SELECT查询语句 7.3 流程控制语句
7.1 Transact-SQL语言基础 第 SQL是英文 Structured Query Language的缩写,意为结构化查 询语 7章T-sQL SQL语言是关系数据库管理系统( Database Management System,DBMS)中的标准语言,SQL语句可以用来执行创建和 删除数据库、数据表,创建索引,更新数据库中的数据,从数 据库中提取数据等各种操作 MS SQL Server2000中使用的SQL被称为 Transact-SQL,简 序称TSQL。 设 两个GO之间的TSQ语句作为一个批处理。在一个批处理 中可以包含一条或多条TSQ语句,成为一个语句组。这样的 语句组从应用程序一次性地发送到 SQL Server服务器进行执行 。 SQL Server服务器将批处理编译成一个可执行单元,称为执 行计划
7.1 Transact-SQL语言基础 SQL是英文Structured Query Language的缩写,意为结构化查 询语言。 SQL语言是关系数据库管理系统( Database Management System ,DBMS)中的标准语言,SQL语句可以用来执行创建和 删除数据库、数据表,创建索引,更新数据库中的数据,从数 据库中提取数据等各种操作。 MS SQL Server 2000中使用的SQL被称为Transact-SQL,简 称T-SQL。 两个GO之间的T-SQL语句作为一个批处理。在一个批处理 中可以包含一条或多条T-SQL语句,成为一个语句组。这样的 语句组从应用程序一次性地发送到SQL Server服务器进行执行 。SQL Server服务器将批处理编译成一个可执行单元,称为执 行计划。 第 7 章 T - S Q L 程 序 设 计
7.1.1数据类烈 级在 SQL Server中每个变量、参数、表达式等 刻都有一个相关的数据类型,此数据类型定义对 象所能包含的数据种类。 SQL Server2000中定 第义了许多预定义的数据类型,同时允许用户根 据需要自定义新的数据类型。系统中预定义的 数据类型如表4.1所示
7.1.1 数据类型 在SQL Server 中每个变量、参数、表达式等 都有一个相关的数据类型,此数据类型定义对 象所能包含的数据种类。SQL Server 2000中定 义了许多预定义的数据类型,同时允许用户根 据需要自定义新的数据类型。系统中预定义的 数据类型如表4.1所示。 数 据 库 应 用 开 发 技 术 第 7 章 T - S Q L 程 序 设 计
7.1.2变量 第 1.局部变量 7章T-sQL 利用局部变量还可以保存程序执行过程中的中间结 果,保存由存储过程返回的数据值等 (1)局部变量的定义 必须先用 DECLARE命令定义后才可以使用 F DECLAER i@local_variable data_type)[n] 设 (2)局部变量的赋值方法 sET{{@ loca variable= expression}或者 SELECTi @local_variable expression 3 ■■■ ○
7.1.2 变量 1. 局部变量 利用局部变量还可以保存程序执行过程中的中间结 果,保存由存储过程返回的数据值等。 (1)局部变量的定义 必须先用 DECLARE 命令定义后才可以使用 。 DECLAER {@local_variable data_type} […n] (2)局部变量的赋值方法 SET { { @local_variable = expression } 或者 SELECT { @local_variable = expression } [ ,...n ] 第 7 章 T - S Q L 程 序 设 计
7.1.2变量 T2.全部变量 s全局变量在整个 SQL Server系统内使用。存储的通 Q常是一些 SQL Server的配置设定值和统计数据。在使 程用全局变量时应该注意以下几点: 全局变量是在服务器级定义的 用户只能使用预先定义的全局变量。 引用全局变量时,必须以标记符“@@”开头。 全局变量对用户来说是只读的。 局部变量的名称不能与全局变量的名称相同
7.1.2 变量 2. 全部变量 全局变量在整个SQL Server系统内使用。存储的通 常是一些SQL Server的配置设定值和统计数据。在使 用全局变量时应该注意以下几点: ◼ 全局变量是在服务器级定义的。 ◼ 用户只能使用预先定义的全局变量。 ◼ 引用全局变量时,必须以标记符“@@”开头。 ◼ 全局变量对用户来说是只读的。 ◼ 局部变量的名称不能与全局变量的名称相同。 第 7 章 T - S Q L 程 序 设 计
7.1.3运算符、表达式和优先级 第 71.算术运算符 T算术运算符包括加(+)、减(-)、乘(*)、除 (/)和取模(%) Q 2.赋值运算符(=) 3.字符串串联运算符(+) 4.比较运算符 计比较运算符包括:等于(=)、大于(>)、大于或 等于(>=)、小于()
7.1.3 运算符、表达式和优先级 1. 算术运算符 算术运算符包括加(+)、减(-)、乘(*)、除 (/)和取模(%) 2. 赋值运算符 (=) 3. 字符串串联运算符 (+) 4. 比较运算符 比较运算符包括:等于(=)、大于(>)、大于或 等于(>=)、小于(或!=)、不小于(!) 第 7 章 T - S Q L 程 序 设 计
7.1.3运算符、表达式和优先级 第5.逻辑运算符 a逻辑运算符包括与(AN)、或(0R)和非(NoT) T等运算符 比较和逻辑运算均返回布尔值,值为TRUE或 FALSE Q 6.位运算符 利位运算符包括按位与(&)、按位或(|)、按位异 设或()和求反()。 位运算符用来对整型数据或者二进制数据( image 数据类型除外)之间执行位操作
7.1.3 运算符、表达式和优先级 5. 逻辑运算符 逻辑运算符包括与(AND)、或(OR)和非(NOT) 等运算符。 比较和逻辑运算均返回布尔值,值为TRUE或FALSE 6. 位运算符 位运算符包括按位与(&)、按位或(|)、按位异 或(^)和求反(~)。 位运算符用来对整型数据或者二进制数据(image 数据类型除外)之间执行位操作。 第 7 章 T - S Q L 程 序 设 计
第7.1.3运算符、表达式和优先级 T5.逻辑运算符 逻辑运算符包括与(AND)、或(OR)和非(NoT) 等运算符 比较和逻辑运算均返回布尔值,值为TRUE或 FALSE 序 6.位运算符 计位运算符包括按位与(&)、按位或(|)、按位异 或()和求反()。 位运算符用来对整型数据或者二进制数据( image 数据类型除外)之间执行位操作
7.1.3 运算符、表达式和优先级 5. 逻辑运算符 逻辑运算符包括与(AND)、或(OR)和非(NOT) 等运算符。 比较和逻辑运算均返回布尔值,值为TRUE或FALSE 6. 位运算符 位运算符包括按位与(&)、按位或(|)、按位异 或(^)和求反(~)。 位运算符用来对整型数据或者二进制数据(image 数据类型除外)之间执行位操作。 第 7 章 T - S Q L 程 序 设 计
第7.1.3运算符、表达式和优先级 7 音 7.运算符优先级 在同一表达式中可能包含多种运算符,而运算符是有优先级的。运算符 的优先级决定了表达式中的各个运算符参加运算的顺序。在T-SL中,运算 符的优先级从高到低如下所示: 括号: () 程 求反: 序 正负 设 乘、除、求模运算符: *、/、% 加、字符串连接和减运算符: 比较运算符: >、!=、!、! 位运算符: &、 逻辑运算符: NOT 逻辑运算符: AND 逻辑运算符: OR 赋值运算符: ○
7.1.3 运算符、表达式和优先级 7. 运算符优先级 在同一表达式中可能包含多种运算符,而运算符是有优先级的。运算符 的优先级决定了表达式中的各个运算符参加运算的顺序。在T-SQL中,运算 符的优先级从高到低如下所示: 括号: () 求反: ~ 正负: +、- 乘、除、求模运算符: *、/、% 加、字符串连接和减运算符: +、+、- 比较运算符: = 、 > 、 = 、 、!=、!>、!
7.1.4系统内置函数 第1.数学函数 7 ABS、ACOS、ASIN、ATAN、 CEILING、SIN、COS、TAN、EXP T FLOOR、LOG、L0G10、PI、 POWER、RAND、ROUN、SIGN、 SORT 2.字符串函数 ASCII、CHAR、LEFT、 RIGHT、LEN、 LOWER、 UPPER、 LTRIM 程 RTRIM、 REPLACE、 REVERSE、 SPACE、STR、 STUFF、 SUBSTRING 设 3.转换函数 CAST expression As data type conVERT (data type[(length)1, expression [, style])
7.1.4 系统内置函数 1. 数学函数 ABS、ACOS、ASIN、ATAN、CEILING、SIN、COS、TAN、EXP、 FLOOR、LOG、 LOG10、PI、 POWER、RAND、ROUND、SIGN、 SQRT 2. 字符串函数 ASCII、CHAR、LEFT、RIGHT、LEN、LOWER、UPPER、LTRIM、 RTRIM、REPLACE、REVERSE、SPACE、STR、STUFF、SUBSTRING 3. 转换函数 CAST( expression AS data_type ) CONVERT(data_type[(length)], expression [,style]) 第 7 章 T - S Q L 程 序 设 计