Transact_SQL语言

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第7章 Transact_SQL语言
SET语句与SELECT语句的区别
• SET语句不SELECT语句在为变量赋值的区别在于:
− 一条SET赋值语句只能给一个变量赋值。 − 一条SELECT语句可以给多个变量赋值。
• 约定:
− 当只给一个简单变量赋值时,使用SET赋值语句。 − 当通过查询返回的结果给变量赋值时,使用SELECT赋值语 句。
第7章 Transact_SQL语言
SQL Sever 2000预设的全局变量及含义如下:
– @@CONNECTIONS:返回自上次启动 Microsoft® SQL Server™ 以来连 接或试图连接的次数。
– @@CPU_BUSY:返回自上次启动 Microsoft® SQL Server™ 以来 CPU 的工作时间,单位为毫秒(基于系统计时器的分辨率)。
第7章 Transact_SQL语言
SQL Sever 2000预设的全局变量及含义如下:
– @@IDENTITY:返回最后插入的标识列的列值。 – @@IDLE:返回 Microsoft® SQL Server™ 自上次启动后闲置的时间, 单位为毫秒(基于系统计时器的分辨率)。 – @@IO_BUSY:返回 Microsoft® SQL Server™ 自上次启动后用于执行 输入和输出操作的时间,单位为毫秒(基于系统计时器的分辨率)。 – @@LANGID:返回当前所使用语言的本地语言标识符(ID)。 – @@LANGUAGE:返回当前使用的语言名。 – @@LOCK_TIMEOUT:返回当前会话的当前锁超时设置,单位为毫秒。 – @@MAX_CONNECTIONS:返回 Microsoft® SQL Server™ 上允许的同时 用户连接的最大数。返回的数不必为当前配置的数值。 – @@MAX_PRECISION:返回 decimal 和 numeric 数据类型所用的精度级 别,即该服务器中当前设置的精度。
7.3.2 局部变量
创建局部变量
语法格式如下: DECLARE {@local_variable data_type} […n]
–@local_variable:用于指定新创建的局部变量的名称
–data_type:表示新创建的局部变量的数据类型及其长度 –n:表示在一个DECLARE语句中可以同时定义n个局部变量
第7章 Transact_SQL语言
SQL Sever 2000预设的全局变量及含义如下:
– @@SPID:返回当前用户进程的服务器进程标识符 (ID)。 – @@TEXTSIZE:返回 SET 语句 TEXTSIZE 选项的当前值,它指定 SELECT 语句 返回的 text 或 image 数据的最大长度,以字节为单位。 – @@TIMETICKS:返回一刻度的微秒数。 – @@TOTAL_ERRORS:返回 Microsoft® SQL Server™ 自上次启动后,所遇到的 磁盘读/写错误数。 – @@TOTAL_READ:返回 Microsoft® SQL Server™ 自上次启动后读取磁盘(不 是读取高速缓存)的次数。 – @@TOTAL_WRITE:返回 Microsoft® SQL Server™ 自上次启动后写入磁盘的次 数。 – @@TRANCOUNT:返回当前连接的活动事务数。
第7章 Transact_SQL语言
多行注释 –多行注释是使用“/* */”作为注释符 – “/*”用于注释文字的开头,“*/”用于注释文字的 结尾,中间部分加上注释性文字说明 例7-2:
USE Northwind GO -- First line of a multiple-line comment. -- Second line of a multiple-line comment. SELECT * FROM Employees GO /* First line of a multiple-line comment. Second line of a multipl-line comment. */ SELECT * FROM Products 两个单 行注释
局部变量应用举例 例7-6: 创建一个局部变量,并赋一个任意字符串作为局部 变量的值。
DECLARE @char_var char(20) SET @char_var=’hello,everyone!’
SELECT @char_var AS ‘char_var变量值为’
第7章 Transact_SQL语言
sql语句中的命名规则和注释变量的创建与使用sql语句中各类运算符函数以及批处理语句各类流程控制语句71sql语言简介72常量73变量74运算符75函数76流控制语句和批处理transactsql语言71sql71sql语言简介语言简介sql语句是位于加利福尼亚的ibm公司的sanjoseresearchlaboratory在20世纪70年代后期开发出来的通常我们将它翻译为结构化查询语言structuredquerylanguagetransactsql是一种在sql语言基础上发展起来的扩充语言
– 注释语句写在注释符的后面,以最近的回车符作为注释的结束。
例7-1:
--该程序中对于某些难理解的语句行进行注释 USE sales --打开sales数据库 GO
单行 注释
SELECT ProductID, Productname, Price
FROM Products WHERE Price>=50 ORDER BY Price DESC
第7章 Transact_SQL语言
全局变量在程序中的应用 :
例7_5:下面的示例返回当前用户进程的进程ID、登录名和用户名
SELECT @@SPID AS 'ID', SYSTEM_USER AS 'Login Name', USER AS 'User Name'
第7章 Transact_SQL语言
– @@CURSOR_ROWS:返回连接上最后打开的游标中当前存在的合格行的数 量。
– @@DATEFIRST:返回 SET DATEFIRST 参数的当前值,SET DATEFIRST 参数指明所规定的每周第一天:1 对应星期一,2 对应星期二,依次 类推,用 7 对应星期日。
– @@DBTS:为 当 前数据 库返回 当前 timestamp 数据类型的值。这一 timestamp 值保证在数据库中是唯一的。 – @@ERROR:返回最后执行的 Transact-SQL 语句的错误代码。 – @@FETCH_STATUS:返回被 FETCH 语句执行的最后游标的状态,而不是 任何当前被连接打开的游标的状态。
第7章 Transact_SQL语言
例子
例1:创建局部变量@var1,@var2,并赋值,然后输出变量的值
DECLARE @var1,@var2 char(20) SET @var1=‘中国’ SET @var2= @var1+ ’是一个伟大的国家’ SELECT @var1,@var2
第7章 Transact_SQL语言
FROM Customers WHERE ConnectName LIKE @chazhao
第7章 Transact_SQL语言
【例9-2】从Relationer表中,查询RID为“20103541”的记录, 并为声明两个变量@checkid,@name赋值。
一个多 行注释
第7章 Transact_SQL语言
7.3 变量
变量用于临时存放数据,变量有名字及其数据类型两个属性。
变量类型 全局变量
–系统预先定义好的,SQL用户直接可以从系统中进 行调用
局部变量
–局部变量是用户根据自己的需要定义的,对于局部 变量需要注意的是必须先创建后使用
第7章 Transact_SQL语言
7.3.1 全局变量
使用全局变量时应该注意 :
– 由系统在服务器级定义的,不是由哪一个特定的用户在他们的程序定 义的 – 只能使用预先SQL系统定义好的全局变量,不能自己创建全局变量
– 全局变量的名称必须以标记符“@@”开头
– 用户自己创建的局部变量的名称不能与全局变量名相同 – 全局变量对用户来说是只读的,用户无法对他们进行修改
第7章 Transact_SQL语言
SQL Sever 2000预设的全局变量及含义如下:
– @@NESTLEVEL:返回当前存储过程执行的嵌套层次(初始值为 0)。 – @@OPTIONS:返回当前 SET 选项的信息。 – @@PACK_RECEIVED:返回 Microsoft® SQL Server™ 自上次启动后从网络上读 取的输入数据包数目。 – @@PACK_SENT:返回 Microsoft® SQL Server™ 自上次启动后写到网络上的输 出数据包数目。
局部变量应用举例
例7-7:使用 DECLARE语句定义一个名为 @chazhao的局部 变量,在sales数据库中的Customers表中检索所有姓“王” 的客户信息。
USE sales DECLARE @chazhao varchar(30) SET @chazhao = '王%'
SELECT CustomerID,ConnectName,Address
第7章 Transact_SQL语言
局部变量赋值—用SET语句、SELECT语句赋值 语法格式如下: SET @local_variable=expression
–@local_variable:表示进行赋值的局部变量的名称。
–expression:是为该变量所赋的值,可以是任何有效 的SQL SERVER表达式。
第7章 Transact_SQL语言
局部变量赋值—用SET语句、SELECT语句赋值
语法格式如下:
SELECT @变量1=表达式1[,@变量2=表达式2,…,@变量n=表达 式n]
说明: 1. 用SELECT命令可以一次给多个变量赋值。 2. 当表达式为表的列名时,可使用子查询从表中一次返 回多个值,变量只保存最后一个返回值;如果子查询没 有返回值,则变量被赋空值NULL。 3.SELECT @变量1[,@变量2,…,@变量n]语句可以显示 变量的值。
第7章 Transact_SQL语言
第7章 Transact_SQL语言
学习要点:
– SQL语句中的命名规则和注释 –变量的创建与使用 – SQL语句中各类运算符、函数以及批处理语句 –各类流程控制语句
7.1 SQL语言简介
7.3 变量 7.5 函数
7.2 常量
7.4 运算符 7.6 流控制语句和批处理
第7章 Transact_SQL语言
7.1 SQL语言简介
SQL语句是位于加利福尼亚的IBM公司的 San Jose Research Laboratory在20世纪70年代 后期开发出来的,通常我们将它翻译为结构化 查询语言(Structured Query Language) Transact-SQL是一种在SQL语言基础上发展起 来的扩充语言。它包含两部分,其一是SQL语 句的标准语言部分,另一部分是在标准SQL语 句上进行的扩充
第7章 Transact_SQL语言
7.2 常量
7.2.1 常量
ቤተ መጻሕፍቲ ባይዱ
定义
– 常量是指在程序运行过程中值不变的量。 – 常量可分为:字符串常量、整型常量、实型常量、日期时间 常量、货币常量等。
如’china’、1894、2.0等等
第7章 Transact_SQL语言
7.2.2 注释
单行注释
– 单行注释是使用两个连在一起的减号“--”作为注释;
– @@VERSION:返回 Microsoft® SQL Server™ 当前安装的日期、版本和处理器 类型。
第7章 Transact_SQL语言
全局变量在程序中的应用 :
利用全局变量@@CONNECTIONS显示到系统的当前日期和时间为止, 用户登录 SQL SERVER的次数。
例7-3
SELECT GETDATE() AS 'Today’s Date and Time' SELECT @@CONNECTIONS AS 'Login Attempts'
– @@PACKET_ERRORS : 返 回 自 SQL Server 上 次 启 动 后 , 在 Microsoft® SQL Server™ 连接上发生的网络数据包错误数。
– @@PROCID:返回当前过程的存储过程标识符 (ID) 。 – @@REMSERVER:当远程 Microsoft® SQL Server™ 数据库服务器在登录记录中 出现时,返回它的名称。 – @@ROWCOUNT:返回受上一语句影响的行数。 – @@SERVERNAME:返回运行 Microsoft® SQL Server™ 的本地服务器名称。 – @@SERVICENAME:返回SQL Server当前运行的服务器名
相关文档
最新文档