第04章TransactSQ语言基础ppt课件

上传人:hs****ma 文档编号:567299542 上传时间:2024-07-19 格式:PPT 页数:65 大小:717.50KB
返回 下载 相关 举报
第04章TransactSQ语言基础ppt课件_第1页
第1页 / 共65页
第04章TransactSQ语言基础ppt课件_第2页
第2页 / 共65页
第04章TransactSQ语言基础ppt课件_第3页
第3页 / 共65页
第04章TransactSQ语言基础ppt课件_第4页
第4页 / 共65页
第04章TransactSQ语言基础ppt课件_第5页
第5页 / 共65页
点击查看更多>>
资源描述

《第04章TransactSQ语言基础ppt课件》由会员分享,可在线阅读,更多相关《第04章TransactSQ语言基础ppt课件(65页珍藏版)》请在金锄头文库上搜索。

1、清华大学出版社. SQL Server 2005数据库应用与开发 第第04章章 Transact-SQL语言基础语言基础内容提要:nTransact-SQL语言是语言是SQLServer2005在在SQL语言语言的基础上增加了一些语言要素后的扩展语言,其的基础上增加了一些语言要素后的扩展语言,其语言要素包括注释、变量、运算符、函数和流程语言要素包括注释、变量、运算符、函数和流程控制语句等。控制语句等。n掌握掌握Transact-SQL语言是进一步学习更多的管理语言是进一步学习更多的管理技术和数据库应用开发技术的关键。技术和数据库应用开发技术的关键。n本章主要介绍本章主要介绍Transact-S

2、QL语言中的常量、变量、语言中的常量、变量、函数、表达式等语言成份和控制流语句等。函数、表达式等语言成份和控制流语句等。悼镊泵寞挟坑绞俗堡染坤吉义卓沸椎寡书淆乓匝惮束碎鸥党尔公扒布堪纸第04章Transact-SQ语言基础ppt课件第04章Transact-SQ语言基础ppt课件清华大学出版社. SQL Server 2005数据库应用与开发 第第04章章 Transact-SQL语言基础语言基础4.1 了解Transact-SQL编程语言4.2 Transact-SQL语法要素 4.3 Transact-SQL运算符4.4 Transact-SQL函数 4.5 Transact-SQL表达式

3、4.6 Transact-SQL控制流语句4.7小结弹豁霄夕末况映瞒驳喧快不涸文苑佃棚淄沈鬃璃栓评疙之拱舰岳场哦等岛第04章Transact-SQ语言基础ppt课件第04章Transact-SQ语言基础ppt课件清华大学出版社. SQL Server 2005数据库应用与开发 4.1 了解Transact-SQL编程语言4.1.1Transact-SQL概述概述nTransact-SQL语言用于处理语言用于处理SQLServer2005数据库引擎实例的相关操作,主要包数据库引擎实例的相关操作,主要包括创建和管理数据库对象、插入、检索、括创建和管理数据库对象、插入、检索、修改和删除数据。修改和删

4、除数据。nTransact-SQL语言不是一种标准的编程语语言不是一种标准的编程语言,只能够提供言,只能够提供SQLServer的数据引擎来的数据引擎来分析和运行。分析和运行。哲睛跟翰赋镁逮跳晋狸坐酪攒垒奸拢涨跌庄取姚债内俯慧映傲机割底袍宜第04章Transact-SQ语言基础ppt课件第04章Transact-SQ语言基础ppt课件清华大学出版社. SQL Server 2005数据库应用与开发 4.1 了解Transact-SQL编程语言4.1.1Transact-SQL概述概述1Transact-SQL语言的语法约定语言的语法约定表表4.1列出了列出了Transact-SQL参考的语法格

5、参考的语法格式中使用的约定,并进行了说明。式中使用的约定,并进行了说明。语法约定语法约定 用途说明用途说明大写字母大写字母Transact-SQL 关键字关键字斜体斜体用户提供的用户提供的Transact-SQL语法的参数。语法的参数。粗体粗体数据库名、表名、列名、索引名、存储过程、实用工具、数据数据库名、表名、列名、索引名、存储过程、实用工具、数据类型名以及必须按所显示的原样键入的文本。类型名以及必须按所显示的原样键入的文本。下划线下划线指示当语句中省略了包含带下划线的值的子句时应用的默认值。指示当语句中省略了包含带下划线的值的子句时应用的默认值。|(竖线)(竖线)分隔括号或大括号中的语法项

6、。只能选择其中一项。分隔括号或大括号中的语法项。只能选择其中一项。 可选语法项。不要键入方括号。可选语法项。不要键入方括号。 必选语法项。不要键入大括号。必选语法项。不要键入大括号。,.n指示前面的项可以重复指示前面的项可以重复n次。每一项由逗号分隔。次。每一项由逗号分隔。.n指示前面的项可以重复指示前面的项可以重复n次。每一项由空格分隔。次。每一项由空格分隔。;可选的可选的Transact-SQL语句终止符。不要键入方括号。语句终止符。不要键入方括号。:=语法块的名称。用于对可在语句中的多个位置使用的过长语法语法块的名称。用于对可在语句中的多个位置使用的过长语法段或语法单元进行分组和标记。可

7、使用的语法块的每个位置由括段或语法单元进行分组和标记。可使用的语法块的每个位置由括在尖括号内的标签指示:在尖括号内的标签指示:。屯锯谊毡角曾被凹谰俱液柏挡摊埃路肺昆挂剐输屹亮赠叙抖喊撬玛凄搽犊第04章Transact-SQ语言基础ppt课件第04章Transact-SQ语言基础ppt课件清华大学出版社. SQL Server 2005数据库应用与开发 4.1 了解Transact-SQL编程语言4.1.1Transact-SQL概述概述2Transact-SQL语言中对象的引用方法语言中对象的引用方法nSQLServer2005的所有对数据库对象名的的所有对数据库对象名的引用引用可以是由可以是

8、由4部分组成的名称,格式如下:部分组成的名称,格式如下:server_name.database_name.schema_name.|database_name.schema_name.|schema_name.object_namen引用某个特定对象时,不必总是指定服务器、引用某个特定对象时,不必总是指定服务器、数据库和架构供数据库和架构供SQLServer2005DatabaseEngine标识该对象。标识该对象。诌驮尹掺瞅悲廊峨宏桨叶驻扎翘种馏埔砷饶仇虾镀瞪堡砷兰漫洛蒜肾控昭第04章Transact-SQ语言基础ppt课件第04章Transact-SQ语言基础ppt课件清华大学出版社.

9、SQL Server 2005数据库应用与开发 4.1 了解Transact-SQL编程语言4.1.1Transact-SQL概述概述3架构的使用和说明架构的使用和说明nSQLServer2005中的架构是形成单个命名空间的数据中的架构是形成单个命名空间的数据库实体的集合。架构是单个用户所拥有的数据库对象的库实体的集合。架构是单个用户所拥有的数据库对象的集合,这些对象形成单个命名空间。集合,这些对象形成单个命名空间。n数据库对象由架构所拥有,而架构由数据库用户或角色数据库对象由架构所拥有,而架构由数据库用户或角色所拥有。当架构所有者离开单位时,会在删除离开的用所拥有。当架构所有者离开单位时,会

10、在删除离开的用户之前将该架构的所有权移交给新的用户或角色。户之前将该架构的所有权移交给新的用户或角色。n在使用架构的过程中,应该了解以下内容:在使用架构的过程中,应该了解以下内容:(1)利用架构可以简化)利用架构可以简化DBO和开发人员的工作。和开发人员的工作。怜酋文肤涛矩沧酝栽驯懂勒谗出桶麓捷贮旬焊茄屈审湿媳纂午净停佯缓队第04章Transact-SQ语言基础ppt课件第04章Transact-SQ语言基础ppt课件清华大学出版社. SQL Server 2005数据库应用与开发 4.1 了解Transact-SQL编程语言4.1.1Transact-SQL概述概述3架构的使用和说明架构的使

11、用和说明(2)用户架构分离。架构与数据库用户分离对)用户架构分离。架构与数据库用户分离对DBO和开和开发人员而言有下列好处:发人员而言有下列好处:n多个用户可以通过角色成员身份或多个用户可以通过角色成员身份或Windows组成员组成员身份拥有一个架构。简化了删除数据库用户的操作。身份拥有一个架构。简化了删除数据库用户的操作。n删除数据库用户不需要重命名该用户架构所包含的对删除数据库用户不需要重命名该用户架构所包含的对象。象。n多个用户可以共享一个默认架构以进行统一名称解析。多个用户可以共享一个默认架构以进行统一名称解析。n开发人员通过共享默认架构可以将共享对象存储在为开发人员通过共享默认架构可

12、以将共享对象存储在为特定应用程序专门创建的架构中,而不是特定应用程序专门创建的架构中,而不是DBO架构架构中。中。n可以用更大的粒度管理架构和架构包含的对象的权限。可以用更大的粒度管理架构和架构包含的对象的权限。首汇骤闯廉剔周森坠念牲幸羞麓起镐户帆被栅臭彝稠泉化岳乓柔舞蛹减韶第04章Transact-SQ语言基础ppt课件第04章Transact-SQ语言基础ppt课件清华大学出版社. SQL Server 2005数据库应用与开发 4.1 了解Transact-SQL编程语言4.1.1Transact-SQL概述概述3架构的使用和说明架构的使用和说明完全限定的对象名称现在包含完全限定的对象名

13、称现在包含4部分:部分:server.database.schema.object-即服务器即服务器.数据库数据库.架构架构.数据库对象数据库对象(3)默认架构。默认架构。SQLServer2005利用默认架构利用默认架构的概念解析未使用其完全限定名称引用的对象的的概念解析未使用其完全限定名称引用的对象的名称。如果未定义名称。如果未定义DEFAULT_SCHEMA,则数,则数据库用户将把据库用户将把DBO作为其默认架构。作为其默认架构。正旷卵斥教惕蠢隆猜掌镇风滦交儡统汗农零设泊拽叙粕俭国址狮熊龙鹅讳第04章Transact-SQ语言基础ppt课件第04章Transact-SQ语言基础ppt课件

14、清华大学出版社. SQL Server 2005数据库应用与开发 4.1 了解Transact-SQL编程语言4.1.2Transact-SQL语句分类语句分类Transact-SQL语言中的语句根据用途分为语言中的语句根据用途分为4种类型。种类型。(1)数据定义语言()数据定义语言(DDL)。数据定义语言)。数据定义语言(datadefinitionlanguage)通常是数据库管理系统的一部分,在通常是数据库管理系统的一部分,在SQLServer2005中,数据库对象包括表、视图、触发器、中,数据库对象包括表、视图、触发器、存储过程、规则、默认、用户自定义的数据类型等。定义存储过程、规则、

15、默认、用户自定义的数据类型等。定义语言的语句有语言的语句有CREATE,ALTER,DROP等。等。(2)数据操纵语言()数据操纵语言(DML)。数据操作语言)。数据操作语言(datamanipulationlanguage)用于检索和操作数据的用于检索和操作数据的SQL语句语句的子集。数据操纵语言语句包括的子集。数据操纵语言语句包括SELECT、INSERT、UPDATE、DELETE等命令。等命令。鞍股萨汝鹤擒剖詹糊凑粉磷会鬼既挚茎胀啥民糯票朵徒摧墙顿酒踢调天吗第04章Transact-SQ语言基础ppt课件第04章Transact-SQ语言基础ppt课件清华大学出版社. SQL Serv

16、er 2005数据库应用与开发 4.1 了解Transact-SQL编程语言4.1.2Transact-SQL语句分类语句分类(3)数据控制语言。数据控制语言()数据控制语言。数据控制语言(DCL)是用来设置或)是用来设置或更改数据库用户或角色权限的语句,包括更改数据库用户或角色权限的语句,包括GRANT,DENY,REVOKE等命令。在默认状态下,只有等命令。在默认状态下,只有sysadmin,dbcreator,db_owner或或db_securityadmin等等人员才有权限执行数据控制语言。人员才有权限执行数据控制语言。(4)控制流语句。)控制流语句。Transact-SQL还为用户

17、提供了控制流还为用户提供了控制流语句,用于控制语句,用于控制SQL语句、语句块或者存储过程的执行语句、语句块或者存储过程的执行流程。常用流程控制语句有流程。常用流程控制语句有BEGINEND、IFELSE、WHILE、BREAK、GOTO、WAITFOR、RETURN等等主要语句。主要语句。脱鸟新坡瘫藉蝇哲睁仔筷耿人混烩枪院交姐声俭龟峪羔穗昂需贱晃孤查尝第04章Transact-SQ语言基础ppt课件第04章Transact-SQ语言基础ppt课件清华大学出版社. SQL Server 2005数据库应用与开发 4.2 Transact-SQL语法要素4.2.1Unicode码与码与ASC码码

18、(1)ASC码。码。ANSI标准机构制定了一种编码标准标准机构制定了一种编码标准ASC码,要求用码,要求用8个二进制位来表示字母的范围。存在个二进制位来表示字母的范围。存在的缺陷是只能表示的缺陷是只能表示256个不同的字符,不能在一个单独的个不同的字符,不能在一个单独的8位编码体系中指定所有的字符。位编码体系中指定所有的字符。(2)Unicode码。码。Unicode标准使用标准使用2个字节来表示每个字个字节来表示每个字符。符。SQLServer2005将将Unicode定义的一组字母、数字定义的一组字母、数字和符号识别为和符号识别为nchar、nvarchar和和ntext数据类型。数据类型

19、。在在Unicode标准编码机制下,标准编码机制下,Unicode具有具有65,000多个可选多个可选的值,的值,Unicode可以包含大多数语言的字符。每个不同可以包含大多数语言的字符。每个不同的字符都用一种唯一的编码进行表示,不同语言的系统的字符都用一种唯一的编码进行表示,不同语言的系统之间传输数据时不需要任何编码转换,这就使得字符数之间传输数据时不需要任何编码转换,这就使得字符数据可以完全可移植了。据可以完全可移植了。迁匈线坏护寡潘瘁冠次司怜帜膀潞矣卸讽促寓碾祖烹李菊刺少胶赊善嗜巍第04章Transact-SQ语言基础ppt课件第04章Transact-SQ语言基础ppt课件清华大学出版

20、社. SQL Server 2005数据库应用与开发 4.2 Transact-SQL语法要素4.2.2标识符标识符根据命名对象的方式,对象标识符可分为常规标识符和分根据命名对象的方式,对象标识符可分为常规标识符和分隔标识符。其字符数都必须在隔标识符。其字符数都必须在1到到100之间。之间。1常规标识符常规标识符常规标识符是符合成为常规标识符的下列格式规则的对象常规标识符是符合成为常规标识符的下列格式规则的对象名称。常规标识符的字母要符合名称。常规标识符的字母要符合UnicodeStandard2.0标标准和如下格式规则:准和如下格式规则:n标识符可以以字母开头,也可以符号标识符可以以字母开头

21、,也可以符号(表示局部变量表示局部变量)、#(表示临时变量表示临时变量)或者下划线或者下划线_开头。字母要符合开头。字母要符合UnicodeStandard2.0标准。标准。n后续字符可以是字母、数字和下划线(后续字符可以是字母、数字和下划线(_)。)。n标识符不能是标识符不能是Transact-SQL的保留字。的保留字。n标识符中不允许嵌入空格或特殊字符。标识符中不允许嵌入空格或特殊字符。例如,下面给出的示例都是合法的常规标识符。例如,下面给出的示例都是合法的常规标识符。-声明了一个名为声明了一个名为Ex_Local的局部变量。的局部变量。DECLAREEx_LocalNCHAR(10)-声

22、明了一个名为声明了一个名为Ex_Table的表变量。的表变量。DECLAREEx_TableTABLE(col1,CHAR)-用于创建一个名为用于创建一个名为TempTable的临时表变量。的临时表变量。CREATETABLE#TempTable(itemid,INT)-定义了一个名为定义了一个名为sp_User1的存储过程标识符。的存储过程标识符。CREATEPROCEDUREsp_User1ASBEGINEND裙恍盟疲霉包不乐著锑堰惰嗽嘻持舵弯契炼休持恤悄绞怪珠踌苞逞轩速狰第04章Transact-SQ语言基础ppt课件第04章Transact-SQ语言基础ppt课件清华大学出版社. SQ

23、L Server 2005数据库应用与开发 4.2 Transact-SQL语法要素4.2.2标识符标识符2分隔标识符分隔标识符对于使用分隔标识符,不符合成为常规标识符的格式规则对于使用分隔标识符,不符合成为常规标识符的格式规则的标识符必须始终使用方括号的标识符必须始终使用方括号“”进行分隔。分隔进行分隔。分隔符仅用于标识符,不能用于关键字。符仅用于标识符,不能用于关键字。(1)下列情况下需要使用分隔标识符:)下列情况下需要使用分隔标识符:n当对象的名称或名称中的一部分使用保留关键字时。当对象的名称或名称中的一部分使用保留关键字时。必须先更改对象的标识符,才能使用分隔标识符引用必须先更改对象的

24、标识符,才能使用分隔标识符引用对象。对象。n当对象的名称使用未被列为限定标识符的字符时,允当对象的名称使用未被列为限定标识符的字符时,允许分隔标识符使用当前代码页中的任意字符。许分隔标识符使用当前代码页中的任意字符。垛探航戚酞煮捷劝直啮肚哟喻短中京饼瑞倡痞资斡伤铡蔽廖责宴涎览氮顺第04章Transact-SQ语言基础ppt课件第04章Transact-SQ语言基础ppt课件清华大学出版社. SQL Server 2005数据库应用与开发 4.2 Transact-SQL语法要素4.2.2标识符标识符2分隔标识符分隔标识符(2)分隔标识符的格式规则:)分隔标识符的格式规则:n分隔标识符的主体可以

25、包含当前代码页中的分隔标识符的主体可以包含当前代码页中的字符(包括分隔符本身)的任意组合。如果字符(包括分隔符本身)的任意组合。如果分隔标识符的主体包含分隔符,则需进行特分隔标识符的主体包含分隔符,则需进行特殊处理:殊处理:n如果标识符的主体只包含左方括号如果标识符的主体只包含左方括号(),则无,则无需进行额外处理。需进行额外处理。n如果标识符的主体包含一个右方括号,则必如果标识符的主体包含一个右方括号,则必须指定两个右方括号须指定两个右方括号()。例如,下面给出的示例都是合法的分隔标识符。假例如,下面给出的示例都是合法的分隔标识符。假设语句中,设语句中,SalesVolume、SalesCu

26、be和和select都是都是分隔标识符。分隔标识符。-在在SalesVolume和和SalesCube标识符中标识符中插入空格,而插入空格,而select是一个保留关键字。是一个保留关键字。SELECTMeasures.SalesVolumeFROMSalesCubeWHEREProduct.select-下面的示例中,对象的名称是下面的示例中,对象的名称是TotalProfitDomestic。若要引用此对象,必须使用以下分隔标。若要引用此对象,必须使用以下分隔标识符:识符:TotalProfitDomestic请注意,不必更改请注意,不必更改Domestic前面的左方括号来创前面的左方括号

27、来创建分隔标识符。但是,必须将建分隔标识符。但是,必须将Domestic后面的右方后面的右方括号替换为两个右方括号。括号替换为两个右方括号。牛营祁心繁惩走糊钨蠕淫纲厉丙款捏裂征湖蝇二舷崔印蓝凯尤呢薪溯像琢第04章Transact-SQ语言基础ppt课件第04章Transact-SQ语言基础ppt课件清华大学出版社. SQL Server 2005数据库应用与开发 4.2 Transact-SQL语法要素4.2.3常量常量常量表示一个特定数据值的符号。常量表示一个特定数据值的符号。(1)字符串常量。)字符串常量。n字符串常量括在单引号内并包含字母数字字符(字符串常量括在单引号内并包含字母数字字符

28、(a-z、A-Z和和0-9)以及特殊字符(如)以及特殊字符(如!、和和#等)的字符序等)的字符序列。列。n字符串常量遵循当前数据库的默认排序规则,除非使字符串常量遵循当前数据库的默认排序规则,除非使用用COLLATE子句为其指定了排序规则。子句为其指定了排序规则。n如果单引号中的字符串包含一个嵌入的引号,则可以如果单引号中的字符串包含一个嵌入的引号,则可以使用两个单引号表示嵌入的单引号。也可以使用双引使用两个单引号表示嵌入的单引号。也可以使用双引号定义字符串常量,则对于嵌入在双引号中的单引号号定义字符串常量,则对于嵌入在双引号中的单引号不必作特别处理。不必作特别处理。n空字符串用中间没有任何字

29、符的两个单引号表示。空字符串用中间没有任何字符的两个单引号表示。以下是字符串的示例:以下是字符串的示例:CA123OBrienProcessXis50%.Thelevelforjob_id:%dshouldbebetween%dand%d.OBrien对于对于Unicode字符串,其前面必须有一个大字符串,其前面必须有一个大写字母写字母N前缀。例如,前缀。例如,ABCD是字符串常量是字符串常量而而NABDC则是则是Unicode常量。常量。腕蚜瓣仇人葬事粕职廖搀恫凋闭潭贼险乡荣追控油寨呈正军顺凋剔腐脱得第04章Transact-SQ语言基础ppt课件第04章Transact-SQ语言基础ppt

30、课件清华大学出版社. SQL Server 2005数据库应用与开发 以下是在以下是在 Transact-SQL 中使用的分隔符中使用的分隔符类型:类型:n引用的标识符用双引号引用的标识符用双引号(“)分隔开:分隔开:SELECT*FROM“BlanksinTableName”n括在括号中的标识符用方括号括在括号中的标识符用方括号()分隔开:分隔开:SELECT*FROMBlanksInTableNamen仅当仅当QUOTED_IDENTIFIER选项设为选项设为ON时,时,引用的标识符才有效。默认情况下,当用于引用的标识符才有效。默认情况下,当用于SQLServer的的MicrosoftOL

31、EDB提供程序和提供程序和SQLServerODBC驱动程序连接时,将驱动程序连接时,将QUOTED_IDENTIFIER设为设为ON。轧筐迫聚兵谩钥佯太焰剿针望吏箩钓渐乘瓣吻努寝游骄喷卯崔蔡操促拔独第04章Transact-SQ语言基础ppt课件第04章Transact-SQ语言基础ppt课件清华大学出版社. SQL Server 2005数据库应用与开发 当当 QUOTED_IDENTIFIER 设为设为 ON 时,对于时,对于 SQL 语句中的双引号语句中的双引号 () 和单引号和单引号 () 的用法,的用法,SQL Server 遵循遵循 SQL-92 规则。例如:规则。例如: n双引

32、号只能用于分隔标识符,不能用于双引号只能用于分隔标识符,不能用于分隔字符串。分隔字符串。n单引号只用于包含字符串,不能用于分单引号只用于包含字符串,不能用于分隔标识符。隔标识符。如果字符串包含嵌入的单引号,则应在如果字符串包含嵌入的单引号,则应在该嵌入的单引号前再添加一个单引号。该嵌入的单引号前再添加一个单引号。例如:例如:现蜀古续旧返壹臃嫂姐羹镶踪可石喀指铱形朝栽厢埋氰梭左堤惦吸邑啄撼第04章Transact-SQ语言基础ppt课件第04章Transact-SQ语言基础ppt课件清华大学出版社. SQL Server 2005数据库应用与开发 SELECT * FROM My Table W

33、HERE Last Name = OBrien 如果如果QUOTED_IDENTIFIER设为设为OFF,对于单引号和双引号的用法,对于单引号和双引号的用法,SQLServer遵循以下规则:遵循以下规则:n引号不能用于分隔标识符,而必须将括引号不能用于分隔标识符,而必须将括号用作分隔符。号用作分隔符。n单引号或双引号可用于包含字符串。单引号或双引号可用于包含字符串。如果使用双引号,嵌入的单引号将不必如果使用双引号,嵌入的单引号将不必用两个单引号来表示。例如:用两个单引号来表示。例如:杯嘿磷镰安线脯弓避完吠障郸起认兑蛔士渠棘嘛扎颂寝湾帕饰罢歌媚弊男第04章Transact-SQ语言基础ppt课件

34、第04章Transact-SQ语言基础ppt课件清华大学出版社. SQL Server 2005数据库应用与开发 SELECT*FROMMyTableWHERELastName=OBrien无论采用哪种无论采用哪种QUOTED_IDENTIFIER设设置,都可以使用括号分隔符。置,都可以使用括号分隔符。案扣脉钮稼嚼讫羞悯呆猪译譬殿您瞅角丈阐凤废宝夺暗猪迎蜜瞥抠裁香琶第04章Transact-SQ语言基础ppt课件第04章Transact-SQ语言基础ppt课件清华大学出版社. SQL Server 2005数据库应用与开发 4.2 Transact-SQL语法要素4.2.3常量常量(2)二进制

35、常量)二进制常量。二进制常量具有前辍二进制常量具有前辍0x并且是十并且是十六进制数字字符串。这些常量不使用引号括起。六进制数字字符串。这些常量不使用引号括起。下面是二进制字符串的示例:下面是二进制字符串的示例:0xAA0x1CE0x69048AEFBB010E0x(表示空二进制字符表示空二进制字符)(3)bit常量。常量。bit常量使用数字常量使用数字0或或1表示,并且不表示,并且不括在引号中。如果使用一个大于括在引号中。如果使用一个大于1的数字,则该数的数字,则该数字将转换为字将转换为1。蚀蓖卫涕绦企朵瞄保漂聊注傲贷挤浇叭仰汕功馁榔臆俩婿如硷曰浮虑硅挛第04章Transact-SQ语言基础p

36、pt课件第04章Transact-SQ语言基础ppt课件清华大学出版社. SQL Server 2005数据库应用与开发 4.2 Transact-SQL语法要素4.2.3常量常量(4)日期时间常量)日期时间常量。datetime常量使用特定格式的字常量使用特定格式的字符日期值来表示,并被单引号括起来。符日期值来表示,并被单引号括起来。常用的常用的datetime常量格式的示例如下:常量格式的示例如下:April15,201015April,201109041504/15/10下面是时间常量的示例:下面是时间常量的示例:16:30:2707:27PM(5)整型常量。)整型常量。integer常

37、量以没有用引号括起常量以没有用引号括起来并且不包含小数点的来并且不包含小数点的数字字符序列来表示。数字字符序列来表示。integer常量不能包含小常量不能包含小数且必须全部为数字。数且必须全部为数字。豆溢又帝舷娠肿赌寓登勺装谜僳诊宴而官梧阜锡朱珐驾药么趣易衡嚎右塌第04章Transact-SQ语言基础ppt课件第04章Transact-SQ语言基础ppt课件清华大学出版社. SQL Server 2005数据库应用与开发 4.2 Transact-SQL语法要素4.2.3常量常量(6)数值型常量。)数值型常量。decimal常量由没有用引号括起来并常量由没有用引号括起来并且包含小数点的数字字符

38、串来表示。且包含小数点的数字字符串来表示。下面是下面是decimal常量的示例:常量的示例:3.14159269.807(7)浮点型常量。)浮点型常量。float和和real常量一般使用科学记数常量一般使用科学记数法来表示。法来表示。下面是下面是float或或real值的示例:值的示例:13.76E92.77E-3术耍皆雀絮奢炔啄工务桔传侈溅留靖饥祷兰唤路冷看吱甜仇晤趣现肘刚绪第04章Transact-SQ语言基础ppt课件第04章Transact-SQ语言基础ppt课件清华大学出版社. SQL Server 2005数据库应用与开发 4.2 Transact-SQL语法要素4.2.3常量常量

39、(8)货币型常量。)货币型常量。money常量以前缀为可选的小常量以前缀为可选的小数点和可选的货币符号的数字字符串来表示。数点和可选的货币符号的数字字符串来表示。下面是下面是money常量的示例:常量的示例:$20137$5420437数值型常量数值型常量(包括(包括integer、decimal、float、money等类型)若要指示一个数是正数还是负等类型)若要指示一个数是正数还是负数,可以对数值常量应用数,可以对数值常量应用+或或-一元运算符,一元运算符,成为一个表示有符号数字值的表达式。如果没成为一个表示有符号数字值的表达式。如果没有应用有应用+或或-一元运算符,则数值常量为正数。一元

40、运算符,则数值常量为正数。例如,各数值类型的正负数示例如下:例如,各数值类型的正负数示例如下:+3356918-2277+3.14267.3789-2.71828+123E-3-12E5-$45.56+$423456.99$423455(9)GUID常量。常量。全局唯一标识符全局唯一标识符(uniqueidentifier)常量是表示)常量是表示GUID的字符串。可以的字符串。可以使用字符或二进制字符串格式指定。使用字符或二进制字符串格式指定。以下是以下是GUID类型示例:类型示例:6F9619FF-8B86-D011-B42D-00C04FC964FF0xff19966f868b11d0b4

41、2d00c04fc964ff牌劫便佐屯开钙舔斯咀闲猛廓娘劫出老服颐薄询椿列涯药苞阜搐则幅赴钱第04章Transact-SQ语言基础ppt课件第04章Transact-SQ语言基础ppt课件清华大学出版社. SQL Server 2005数据库应用与开发 4.2 Transact-SQL语法要素4.2.4变量变量n两种形式的变量:两种形式的变量:用户自己定义的局部变量和系统提供用户自己定义的局部变量和系统提供的全局变量。的全局变量。n声明变量声明变量:使用:使用DECLARE命令,为变量赋值时则需要命令,为变量赋值时则需要使用使用SET和和SELECT命令。命令。SET命令一次只能为一个变命令一

42、次只能为一个变量赋值,而量赋值,而SELECT命令可以同时为多个变量赋值。命令可以同时为多个变量赋值。1局部变量局部变量局部变量是一个能够拥有特定数据类型的对象,它的作用局部变量是一个能够拥有特定数据类型的对象,它的作用范围仅限制在程序内部。局部变量被引用时要在其名称范围仅限制在程序内部。局部变量被引用时要在其名称前加上标志,而且必须先用前加上标志,而且必须先用DECLARE命令定义后才命令定义后才可以使用。可以使用。定义局部变量的语法形式如下:定义局部变量的语法形式如下:DECLAERlocal_variabledata_type,n如果想要设定局部变量的值,必须使用如果想要设定局部变量的值

43、,必须使用SELECT命令或者命令或者SET命令。其语法形式为:命令。其语法形式为:SETlocal_variable=expression或者:或者:SELECTlocal_variable=expression,.n例例4.1声明一个声明一个myvar变量,然后将一个变量,然后将一个字符串值放在变量中,再输出字符串值放在变量中,再输出myvar变量变量的值。的值。程序代码如下:程序代码如下:DECLAREmyvarnchar(20)setmyvar=ThisisatestSELECTmyvarGO课虽镐捉孤蛙来宾含指钱滩井楚法相弃扎勋懂斥恬奈赦谢狮妨品舷建叁弹第04章Transact-SQ

44、语言基础ppt课件第04章Transact-SQ语言基础ppt课件清华大学出版社. SQL Server 2005数据库应用与开发 4.2 Transact-SQL语法要素4.2.4变量变量2.全局变量全局变量n全局变量是全局变量是SQLServer系统内部使用的变量,可以让任系统内部使用的变量,可以让任何程序均可以随时调用。何程序均可以随时调用。n全局变量通常存储一些全局变量通常存储一些SQLServer的配置设定值和统计的配置设定值和统计数据。用户可以在程序中用全局变量来测试系统的设定数据。用户可以在程序中用全局变量来测试系统的设定值或者是值或者是Transact-SQL命令执行后的状态值

45、。命令执行后的状态值。n在使用全局变量时应该注意以下几点:在使用全局变量时应该注意以下几点:n全局变量是在服务器级定义的。全局变量是在服务器级定义的。n用户只能使用预先定义的全局变量。用户只能使用预先定义的全局变量。n引用全局变量时,必须以标记符引用全局变量时,必须以标记符“”开头。开头。n局部变量名称不能与全局变量的名称相同,否则会在局部变量名称不能与全局变量的名称相同,否则会在应用程序中出现不可预测的结果。应用程序中出现不可预测的结果。例例4.2显示到当前日期和时间为止试图显示到当前日期和时间为止试图登录登录SQLServer2005的次数。的次数。程序代码如下:程序代码如下:SELECT

46、GETDATE()AS当前的时当前的时期和时间期和时间,CONNECTIONSAS试图登录的次数试图登录的次数匹乘吉朝诛遏琉属钠孵冷玫哭独围末普煌啦夸费疵粪轩阉嵌蟹宛岂厕甄况第04章Transact-SQ语言基础ppt课件第04章Transact-SQ语言基础ppt课件清华大学出版社. SQL Server 2005数据库应用与开发 4.2 Transact-SQL语法要素4.2.5注释注释n注释是程序代码中非可执行的文本字符串。使用注释对注释是程序代码中非可执行的文本字符串。使用注释对代码进行说明,不仅能使程序易读易懂,而且有助于日代码进行说明,不仅能使程序易读易懂,而且有助于日后的管理和维

47、护。后的管理和维护。n注释通常用于记录程序名称、作者姓名和主要代码更改注释通常用于记录程序名称、作者姓名和主要代码更改的日期。注释还可以用于描述复杂的计算或者解释编程的日期。注释还可以用于描述复杂的计算或者解释编程的方法。的方法。n在在SQLServer2005中,可以使用两种类型的注释方法:中,可以使用两种类型的注释方法:n-注释。该方式用于单行注释。注释。该方式用于单行注释。n/*/注释。注释。“/*”用于注释文字的开头,用于注释文字的开头,“*/”用于注释文字的结尾,利用它们可以在程序中标识多用于注释文字的结尾,利用它们可以在程序中标识多行文字为注释。当然,单行注释也可以使用。行文字为注

48、释。当然,单行注释也可以使用。例例4.3为前面的例子添加注释。为前面的例子添加注释。程序代码如下:程序代码如下:DECLAREmyvarnchar(20)-定义变量定义变量myvar/*下面第一行给变量赋值下面第一行给变量赋值第第2行输出变量值行输出变量值*/setmyvar=ThisisatestSELECTmyvarGO绩俭懦每八挑痊便讯木眉嚎兴栽存纤党勃均寇指该篷故新秀恭愧玄博基负第04章Transact-SQ语言基础ppt课件第04章Transact-SQ语言基础ppt课件清华大学出版社. SQL Server 2005数据库应用与开发 4.3 Transact-SQL运算符运运算算符

49、符是是用用来来执执行行算算术术运运算算、字字符符串串连连接接、赋赋值值以以及及在在字字段段、常常量量和和变变量量之之间间进进行行比比较较的的操操作作符符。运算符主要有以下。运算符主要有以下6大类:大类:n算术运算符算术运算符n赋值运算符赋值运算符n位运算符位运算符n比较运算符比较运算符n逻辑运算符逻辑运算符n字符串串联运算符。字符串串联运算符。垂估脱垫掸呛一毒缚桃饶束特绪礼瘴审慰怠替恋散哥稠鞠湍忧兼冉森檀己第04章Transact-SQ语言基础ppt课件第04章Transact-SQ语言基础ppt课件清华大学出版社. SQL Server 2005数据库应用与开发 4.3 Transact-S

50、QL运算符4.3.1算术运算符算术运算符算术运算符主要用于实现数学计算功能,包算术运算符主要用于实现数学计算功能,包含的运算符及功能说明如表含的运算符及功能说明如表4.2所示。主要所示。主要包括包括+、-、*、/、%。4.3.2比较运算符比较运算符比较运算符用于比较两个表达式的值是否相比较运算符用于比较两个表达式的值是否相等。等。Transact-SQL支持的比较运算符有支持的比较运算符有、=、=、=、!=、!、!、=、=、!=、!、!=60PRINTpass,verygood!ELSEPRINTnopass,tryagain!食鬃豪厉觅肠喳躬杨僻傈肤诽牛制湾讫苍霹部朝峻肪汇携乱颐脏矮离吓诈第

51、04章Transact-SQ语言基础ppt课件第04章Transact-SQ语言基础ppt课件清华大学出版社. SQL Server 2005数据库应用与开发 4.6 Transact-SQL控制流语句4.6.2BEGINEND语句语句nBEGINEND语句能够将多个语句能够将多个Transact-SQL语语句组合成一个语句块,并将它们视为一个单元处句组合成一个语句块,并将它们视为一个单元处理。在条件语句和循环等控制流程语句中,当符理。在条件语句和循环等控制流程语句中,当符合特定条件便要执行两个或者多个语句时,就需合特定条件便要执行两个或者多个语句时,就需要使用要使用BEGINEND语句。语句

52、。nBEGINEND语句的语法形式为:语句的语法形式为:BEGINsql_statement|statement_blockEND例例4.12用用BEGINEND语句可使语句可使IF语句语句在计算结果为在计算结果为FALSE时跳过语句块。时跳过语句块。程序代码如下:程序代码如下:DECLAREMyVarfloatSetMyVar=5.7IfMyVar10.8BEGINSETMyVar=123.456PRINT变量变量MyVar的值为:的值为:PRINTCAST(MyVarASvarchar(12)ENDELSEPRINTCAST(MyVarASvarchar(12)伊明葬启蔚赘炔挑讹疙粘页衬派

53、墓陪腹搭信犀侵诬枯差烙甥董掂眉延董狙第04章Transact-SQ语言基础ppt课件第04章Transact-SQ语言基础ppt课件清华大学出版社. SQL Server 2005数据库应用与开发 4.6 Transact-SQL控制流语句4.6.3WHILE语句语句nWHILECONTINUEBREAK语句用于设置重语句用于设置重复执行复执行SQL语句或语句块的条件。语句或语句块的条件。CONTINUE语句可以使程序跳过语句可以使程序跳过CONTINUE语句后面的语句。语句后面的语句。nBREAK语句则使程序完全跳出循环。语句则使程序完全跳出循环。nWHILE语句的语法形式为:语句的语法形式

54、为:WHILEBoolean_expressionsql_statement|statement_blockBREAKsql_statement|statement_blockCONTINUE例例4.13循环控制语句循环控制语句WHILE的使用方法。程序代码如下:USEteachingGODECLAREcountASINTSETcount=1WHILEEXISTS(SELECT*FROMstudentWHEREpoint800)BEGINSETcount=count+1BREAKENDPRINT入学成绩入学成绩800分的有:分的有:+CAST(countASCHAR(2)+人人撕猜掺碴豹鼓练惺

55、间饼烧浓词狙殴痔贩宅氢窝吗乍蚤狗闷干磁迎妄观旁龟第04章Transact-SQ语言基础ppt课件第04章Transact-SQ语言基础ppt课件清华大学出版社. SQL Server 2005数据库应用与开发 4.6 Transact-SQL控制流语句4.6.4CASE语句语句nCASE语句可以计算多个条件式,并将其中一个符合条语句可以计算多个条件式,并将其中一个符合条件的结果表达式返回。件的结果表达式返回。nCASE语句按照使用形式的不同,可以分为简单语句按照使用形式的不同,可以分为简单CASE语语句和搜索句和搜索CASE语句。语句。n简单简单CASE语句的语法格式为:语句的语法格式为:CA

56、SEinput_expressionWHENwhen_expressionTHENresult_expression.nELSEelse_result_expressionEND例例4.14简单简单CASE语句举例。程序代码如下。程序代码如下。USEteachingGOSELECTtnameAS姓名姓名,departmentAS院院系系,CASEprofWHEN教授教授THEN高级高级WHEN副教授副教授THEN高级高级WHEN讲师讲师THEN中级中级WHEN助教助教THEN初级初级ENDAS职称类别职称类别FROMteacherwheredepartment=计算机学院计算机学院GO程序执行

57、结果如下:姓名 院系 职称类别- - -韩晋升 计算机学院 高级刘元朝 计算机学院 高级海封 计算机学院 高级卢明欣 计算机学院 中级(4 行受影响)屠鼻蒜考立廖辑杯熄羞郝项奴卜窒鳞谎暖弓浙鄂烫汾骚渗粮思履糯邑森靳第04章Transact-SQ语言基础ppt课件第04章Transact-SQ语言基础ppt课件清华大学出版社. SQL Server 2005数据库应用与开发 4.6 Transact-SQL控制流语句4.6.4CASE语句语句搜索搜索CASE语句的语法格式为:语句的语法格式为:CASEWHENBoolean_expressionTHENresult_expression.nELS

58、Eelse_result_expressionEND例例4.15搜索搜索CASE语句举例。程序代码如下。USEteachingGOSELECTstudentnoAS学号学号,coursenoAS课程课程,CASEWHENusually*0.2+final*0.8=90THEN优秀优秀WHENusually*0.2+final*0.8=80THEN良好良好WHENusually*0.2+final*0.8=70THEN中等中等WHENusually*0.2+final*0.8=60THEN及格及格WHENusually*0.2+final*0.860THEN不及格不及格ENDAS总评成绩总评成绩

59、FROMscorewherecoursenoin(c06108,c08106,c05109)GO程序执行结果如下:学号 课程 总评成绩- - -0822111208 c05109 良好0822111208 c06108 优秀0824113307 c05109 良好. .0935222201 c05109 优秀0937221508 c05109 良好0937221508 c08106 优秀(11 行受影响)馁肺钮伪斗人茶只籍现讨姥揽潭甘暮垒哺寓惕捣购没泡涝矾觅代高驳佳皱第04章Transact-SQ语言基础ppt课件第04章Transact-SQ语言基础ppt课件清华大学出版社. SQL Ser

60、ver 2005数据库应用与开发 4.6 Transact-SQL控制流语句4.6.5其他语句其他语句1GO语句语句Go语句是批处理的结束语句。批处理是一起提语句是批处理的结束语句。批处理是一起提交并作为一个组执行的若干交并作为一个组执行的若干SQL语句。语句。2.PRINT语句语句nPRINT语句的功能是向客户端返回用户定义消语句的功能是向客户端返回用户定义消息。息。nPRINT语句的语法格式:语句的语法格式:PRINTlocal_variable|string_expr甸烦会役中碾赏妨斧碑庇卷眷控颅昨券窄扦针咆仑药母恤廊末唾烂严缓额第04章Transact-SQ语言基础ppt课件第04章T

61、ransact-SQ语言基础ppt课件清华大学出版社. SQL Server 2005数据库应用与开发 4.6 Transact-SQL控制流语句4.6.5其他语句其他语句3GOTO语句语句nGOTO语句可以使程序直接跳到指定的标有标识语句可以使程序直接跳到指定的标有标识符的位置处继续执行,而位于符的位置处继续执行,而位于GOTO语句和标识语句和标识符之间的程序将不会被执行。标识符可以为数字符之间的程序将不会被执行。标识符可以为数字与字符的组合,但必须以与字符的组合,但必须以“:”结尾。结尾。nGOTO语句的语法形式为:语句的语法形式为:label:statement|statement_bl

62、ockGOTOlabel例例4.16利用利用GOTO语句求出从语句求出从1加到加到7的总和。的总和。程序代码如下:程序代码如下:declaresumint,countintselectsum=0,count=0label_1:selectcount=count+1selectsum=sum+countifcount=6gotolabel_1selectcountas数值数值,sumas17累加和累加和庆胳求愚但寐衫渗命娶渤正卑龋好菠脐用李苗遍醋汐痛迄催木遗佣稳候胯第04章Transact-SQ语言基础ppt课件第04章Transact-SQ语言基础ppt课件清华大学出版社. SQL Serve

63、r 2005数据库应用与开发 4.6 Transact-SQL控制流语句4.6.5其他语句其他语句4WAITFOR语句语句nWAITFOR用于暂时停止执行用于暂时停止执行SQL语句、语句块语句、语句块或者存储过程等,直到所设定的时间已过或者所或者存储过程等,直到所设定的时间已过或者所设定的时间已到才继续执行。设定的时间已到才继续执行。nWAITFOR语句的语法形式为:语句的语法形式为:WAITFORDELAYtime_to_pass|TIMEtime_to_execute例例4.17使用使用WAITFOR TIME语句,以便在晚上10:20:17执行存储过程 sp_help。程序代码如下:BE

64、GIN WAITFOR TIME 22:20:17 EXECUTE sp_helpEND碧向梁妮抿谆沉幅狼驴浩母韵帽拨帽柯爬俭渭捞忿阶加鳖梆咖妮衷助狭巧第04章Transact-SQ语言基础ppt课件第04章Transact-SQ语言基础ppt课件清华大学出版社. SQL Server 2005数据库应用与开发 4.6 Transact-SQL控制流语句4.6.5其他语句其他语句5RETURN语句语句nRETURN语句用于无条件地终止一个查询、语句用于无条件地终止一个查询、存储过程或者批处理,此时位于存储过程或者批处理,此时位于RETURN语句之后的程序将不会被执行。语句之后的程序将不会被执行

65、。nRETURN语句的语法形式为:语句的语法形式为:RETURNinteger_expression宽藻像稍时噪格钥氟蹈曹尉氧胯造魔隅谎首统匪范朵廓绍晤咐炬辟吁买绅第04章Transact-SQ语言基础ppt课件第04章Transact-SQ语言基础ppt课件清华大学出版社. SQL Server 2005数据库应用与开发 4.6 Transact-SQL控制流语句4.6.5其他语句其他语句6TRYCATCH语句语句nTRY.CATCH语句类似于语句类似于C+和和C#语言语言的异常处理功能。用来处理的异常处理功能。用来处理Transact-SQL代码中的错误。代码中的错误。TRYCATCH构造

66、包括构造包括两部分:一个两部分:一个TRY块和一个块和一个CATCH块。块。如果在如果在TRY块中所包含的块中所包含的Transact-SQL语句中检测到错误条件,控制将被传递到语句中检测到错误条件,控制将被传递到CATCH块中处理该错误。块中处理该错误。(1)TRY.CATCH语句语法格式:语句语法格式:BEGINTRYsql_statement|statement_blockENDTRYBEGINCATCHsql_statement|statement_blockENDCATCH;(2)主要功能。检索错误消息,在 CATCH 块的作用域内,可以使用系统函数来获取导致 CATCH 块执行的错

67、误消息.CATCH 块处理该异常错误后,控制将被传递到 END CATCH 语句后面的第一个 Transact-SQL 语句。如果 END CATCH 语句是存储过程或触发器中的最后一条语句,控制将返回到调用该存储过程或触发器的代码。将不执行 TRY 块中生成错误的语句后面的 Transact-SQL 语句。署晕破授根糙猎董没导贬以吭忙孙汤辛凭嚣哦织群昏幌络莱土旋琢矗遮阅第04章Transact-SQ语言基础ppt课件第04章Transact-SQ语言基础ppt课件清华大学出版社. SQL Server 2005数据库应用与开发 4.6 Transact-SQL控制流语句4.6.5其他语句其他

68、语句6TRYCATCH语句语句例例4.18在一个过程中使用在一个过程中使用TRY.CATCH语语句,先让句,先让SELECT语句产生除数为语句产生除数为0的错的错误,该错误将使得误,该错误将使得CATCH块的执行。块的执行。程序代码如下:程序代码如下:USEteachingGOBEGINTRYdeclareerintseter=0-1.产生除数为产生除数为0的错误的错误SELECT3/er;ENDTRYBEGINCATCHSELECTERROR_NUMBER()ASErrorNumber,ERROR_SEVERITY()ASErrorSeverity,ERROR_PROCEDURE()ASEr

69、rorProcedure,ERROR_STATE()ASErrorState,ERROR_LINE()ASErrorLine,ERROR_MESSAGE()ASErrorMessage;ENDCATCH;GO镐烯嘴皆亡紧匙黑过腮酪任抛忌蜒剂沟闭壮泌莉骂蚌郧聪矽胞肘唇湃捧潭第04章Transact-SQ语言基础ppt课件第04章Transact-SQ语言基础ppt课件清华大学出版社. SQL Server 2005数据库应用与开发 4.6 Transact-SQL控制流语句4.6.5其他语句其他语句7Execute语句语句nExecute语句用于执行语句用于执行Transact-SQL批中的命令

70、字符串、批中的命令字符串、字符串或执行下列模块之一:系统存储过程、用户定义字符串或执行下列模块之一:系统存储过程、用户定义存储过程、标量值用户定义函数或扩展存储过程。存储过程、标量值用户定义函数或扩展存储过程。SQLServer2005扩展了扩展了EXECUTE语句,以使其可用于向语句,以使其可用于向链接服务器发送传递命令。链接服务器发送传递命令。n最常见的操作如:最常见的操作如:EXECsp_helpn其中,其中,EXEC是是EXECUTE语句的简写形式语句的简写形式赛蜀陪丧摸脑碴萝述剂吐交毫拎狮骋兜袱亥悠义垄燎煽痒哇敲酶赡遣胡科第04章Transact-SQ语言基础ppt课件第04章Tra

71、nsact-SQ语言基础ppt课件清华大学出版社. SQL Server 2005数据库应用与开发 4.7 小结n利用利用Transact-SQL编写的程序是可以执行编写的程序是可以执行复杂的管理任务,也是开发复杂的管理任务,也是开发SQLServer2005数据库应用系统的基础。数据库应用系统的基础。n学习本章应该重点掌握如下内容:学习本章应该重点掌握如下内容:n变量的定义及使用方法。变量的定义及使用方法。n常用系统函数及使用方法。常用系统函数及使用方法。n常用运算符及其优先级。常用运算符及其优先级。n流程控制语句的种类及用法。流程控制语句的种类及用法。掖圭议久昨百撞侄卑滞杭驴曼毒卞菏蓟共答晚污硷丝罪写臣入伦王霍趣礁第04章Transact-SQ语言基础ppt课件第04章Transact-SQ语言基础ppt课件

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号