T-SQL语言介绍
- 格式:ppt
- 大小:889.00 KB
- 文档页数:21


收稿日期:2007201208作者简介:刘 进(1981-),男,辽宁沈阳人,江西服装职业技术学院教师,华东交通大学信息工程学院在职研究生・第25卷 第2期2007年4月沈阳师范大学学报(自然科学版)
JournalofShenyangNormalUniversity(NaturalScience)Vol125,No.2Apr.2007
文章编号:1673-5862(2007)02-0217-03
浅谈T2SQL语言之递归查询
刘 进
(江西服装职业技术学院计算机系,江西南昌 330201)
摘 要:文章以T2SQL技术为基础,介绍了基于CTE语句进行数据库查询的产生机理和实现方法,并针对CTE语句的特点,采用存储过程及自定义函数方式来实现基于CTE语句查询数据库的过程・以人员管理树型结构数据为基础,在SQLServer2005中建立各种CTE临时结果集,进行递归查询操作,从而体现T2SQL语言中新增CTE递归查询的强大功能・关 键 词:T2SQL;CTE;存储过程中图分类号:TP311.132.3 文献标识码:A
1 CTE(CommonTableExpression)综述
在现实生活中,树型结构数据屡见不鲜:组织机构、产品结构、人事关系等等・经常在项目中涉及到
对机构、人员数据进行处理,特别是进行统计、聚集等操作的时候,一直没有一个好的处理方法・临时表、
视图、程序控制等方法都用使用过了,但在处理效率上达不到理想目标・归根结底,就是在数据库中,对
数据的操作方式(不管是SQL语言,SP,VIEW…)不像程序语言那样灵活、高效率・过去使用SQL
Server2000处理上述问题要不增加查询嵌套层数不使用游标,但编写繁杂度都比较大至于程序执行效
率也不理想・在2005年12月微软推出了SQLServer2005,在其T2SQL语句中的CTE功能使得上面的
问题迎刃而解・CTE(CommonTableExpression)是SQLServer2005众多新特性之一,它是一个可以由定义语句
T-SQL简介及基本语法
⼀、T-SQL概述
SQL Server⽤于操作数据库的编程语⾔为Transaction-SQL,简称T-SQL。T-SQL与PL/SQL不同,并没有固定的程序结构。
T-SQL包括以下4个部分:
DDL:定义和管理数据库及其对象,例如create、alter和drop等。
DML:实现对数据库表各对象的操作,例如insert、update等。
DCL:数据控制语⾔,实现对数据库进⾏安全管理和权限管理等控制,例如grant、revoke、deny等。
附加的语⾔元素。T-SQL的附加语⾔元素,包括变量、运算符、函数、注释和流程控制语句等。
在T-SQL中,命令和语句的书写是不区分⼤⼩写的。
⼆、T-SQL编程基础
1、标识符
①T-SQL规则标识符
由字母、数字、下划线、@、#、$符号组成,其中字母可以是a-z或A-Z,也可以是来⾃其他语⾔的字母字符。
⾸字符不能为数字和$。
标识符不允许是T-SQL保留字。标识符内不允许有空格和特殊字符
长度⼩于128
②界定标识符
对于不符合标识符规则的标识符,则要使⽤界定符⽅括号([])或双引号(“”)将标识符括起来。如标识符[My Table]、“select”内分别使⽤了空
格和保留字select。
2、数据类型
在SQL Server中提供了多种系统数据类型。除了系统数据类型外,还可以⾃定义数据类型。
①系统数据类型
(1)精确数字数据类型
int
存储整型数值,存储数值范围为-231~231-1。
bigint
bigint⽐int能存储更⼤的数值,存储数值范围为-263~263-1。
smallint
数据类型的范围数值⽐int更⼩,在-215~215-1之间。定义这种数据类型的时候⼀定要⼩⼼,要确定存储的数据不会超过smallint所能存储的数值范围。tinyint
数据类型的范围数值⽐smallint更⼩,存储从 0 到 255 的整型数据。
decimal/numeric
T-SQL编程与应用
6.1 T-SQL语言基础
6.1.1 T-SQL语言的编程功能
1. 基本功能
支持ANSI SQL-92标准:DDL数据定义,DML数据操纵,DCL数据控制,DD数据字典
2. 扩展功能
加入程序流程控制结构
加入局部变量,系统变量等
6.1.2 标识符
1. 标识符分类
常规标识符Regular identifer(严格遵守标识符格式规则)
界定标识符Delimited identifer(引号’或方括号[])
2. 标识符格式规则
SQL server 7.0以前的版本,标识符长度限制在30个字符以内。
SQL server2000的标识符:1~128个字符;临时表名1~116个字符。
标识符的第一个字符必须是:大、小写字母、下划线、@、#。其中,@和#在TSQL中有专门的含义。
接下来的字符必须是符合Unicode2.0(统一码)标准的字母,或者是十进制数字,或是特殊字符@, #, _, $。
标识符不能与任何SQL Server保留字匹配。标识符不能包含空格,或别的特殊字符。
*不符合规则的标识符必须加以界定(双引号””或方括号[])
注意:数据库名、表名必须符合标识符规范。
3. 对象命名规则
所有数据库对象的引用由下面四部分构成:
server_name.[database_name].[schema_name].object_name
| database_name.[schema_name].object_name
| schema_name.object_name
| object_name
说明: server_name
指定链接的服务器名称或远程服务器名称。
database_name
如果对象驻留在 SQL Server 的本地实例中,则指定 SQL Server 数据库的名称。如果对象在链接服务器中,则 database_name 将指定 OLE DB 目录。
第七课 T-SQL语言基础
课前导读
基础知识
重点知识
基础知识
SQL语言概述。
重点知识
数据类型、常量、运算符和常用函数,读者应结合上机实战熟练相关操作。
课堂讲解
在SQL Server 2000中,企业管理器是一个功能强大、操作方便的图形化管理工具,几乎所有的操作都可以在其中完成,但它仍不能完全取代SQL语句。无论是SQL Server 2000,还是在其他的数据库中,SQL都扮演了重要的角色,要成为一名突出的数据库开发人员,首先就应该掌握SQL语言。本课将介绍SQL语言的基本概况、数据类型、常量、运算符和常用函数等内容。
SQL语言概述
数据类型
常量
运算符
常用函数
SQL语言概述
SQL是Structured Query Language(结构化查询语言)的缩写,是关系数据库使用的标准数据库查询语言。SQL在20世纪70年代由IBM开发出来,随着关系数据库管理系统的不断推出,SQL语言被广泛应用。
由于关系数据库供应商都根据需要定义了自己的SQL语法规则,例如,Microsoft使用的SQL为Transact-SQL(简称T-SQL),Oracle使用的SQL为SQL-Plus。为了统一各种数据库产品中SQL语法,ANSI(American National Standard Institute,美国国家标准局)制定了SQL语言标准。最早的ANSI标准于1986年完成,它也被叫做SQL-86,目前新的SQL标准是1992年制定的SQL-92。
很显然,各个数据库供应商不可能抛弃自己的专长来适应ANSI标准,所以业界使用的SQL语言基本上是以SQL-92为基础,在加上各供应商自己的特有语法。所以,SQL语言标准有“业界标准”和“ANSI标准”之分。
SQL语言具有“非过程性”的特点,使用SQL编写的程序不能独立运行,必须在特定的数据库管理系统中使用,这与“过程性”的高级程序设计语言,如VB、VC等不同。