77范文网 - 专业文章范例文档资料分享平台

第6章 T-SQL编程与应用

来源:网络收集 时间:2020-06-19 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

第6章 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 目录。

schema_name

如果对象在 SQL Server 数据库中,则指定包含对象的架构的名称。如果对象在链接服务器中,则 schema_name 将指定 OLE DB 架构名称。

object_name

对象的名称。

说明:从 SQL Server 2005 开始,每个对象都属于一个数据库架构。数据库架构是一个独立于数据库用户的非重复命名空间。您可以将架构视为对象的容器。可以在数据库中创建和更改架构,并且可以授予用户访问架构的权限。任何用户都可以拥有架构,并且架构所有权可以转移。

在SQL Server 2000中架构和用户是没有多大的区别,我们在2000中一般是指所有者。2005后,用户和架构开始明确的分开,架构可以理解为对象的容器或者命名空间。2000中服务器名.数据库名.拥有者名.对象名 6.1.3 注释 1. 注释多行 /* fshjhfjkshfjsdhfsdjf fsjdkfljskdlfjkldsfjkdslfjfjfj */ 2. 注释单行

--ghjfghkfdjhgkfhgjfdhgkgjfdh

6.2 表达式

6.2.1 常量

常量是指在程序运行中值不变的量。根据常量的类型不同分为字符型常量,整型常量,日期时间型常量、实型常量、货币常量、全局唯一标识符。 1 字符串常量

字符串常量分为ASCII字符串常量、UNICODE字符串常量。

? ASCII常量:用单引号括起来,由ASCII构成的字符串。如,'abcde'

? UNICODE常量:前面有一个N,如N'abcde'。(N在SQL92规范中表示国际语言,

必须大写)

? 字符串常量必须放在单引号或双引号中。由字母、数字、下划线、特殊字符(!,@,#)组成。

? 当单引号括住的字符串常量中包含单引号时,用2个单引号表示字符串中的单引号。如,I'm ZYT写作'I''m ZYT'。

? T-SQL中设置SET QUOTED_IDENTIFIER { ON | OFF }设置。当SET QUOTED_IDENTIFIER 为 ON 时,标识符可以由双引号分隔,而文字必须由单引号分隔。不允许用双括号括住字符串常量因为双括号括的是标识符。

SET QUOTED_IDENTIFIER 为 OFF 时,标识符不可加引号,且必须遵守所有Transact-SQL 标识符规则。允许用双括号括住字符串常量。Microsoft SQL客户端和ODBC驱动程序自动使用ON。

说明:Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。

强烈建议:用单括号括住字符串常量,别被双引号括的到底是标识符还是字符串搞糊涂。 2 整型常量

二进制整型常量,0,1组成,如111001。 十进制整型常量,如1982

十六进制整型常量,用0x开头,如0x3e,0x,只有0x表示空十六进制数。 3 日期时间型常量

用单引号将日期时间字符串扩起来。如'july 22,2007''22-july-2007'

'06-24-1983''06/24/1983''1981-05-23''19820624' '1982年10月1日'

4 实型常量

实型常量有定点和浮点。如165.234,10E23 5 货币常量

用货币符号开头。如¥542324432.25。SQL Server不强制分组,也就是每隔三个数字插一个逗号之类的。 6 全局唯一标识符

全局唯一标识符(Globally Unique Identification Numbers,GUID)是16字节长的二进制数据类型,是SQL Server根据计算机网络适配器地址和主机时钟产生的唯一号码生成的全局唯一标识符。

例如:6F9619FF-8B86-D011-B42D-00C04FC964FF 即为有效的 GUID 值。

世界上的任何两台计算机都不会生成重复的 GUID 值。GUID 主要用于在拥有多个节

点、多台计算机的网络或系统中,分配必须具有唯一性的标识符。在 Windows 平台上,GUID 应用非常广泛:注册表、类及接口标识、数据库、甚至自动生成的机器名、目录名等。 6.2.2 数据类型

在 SQL Server 2005 中,每个列、局部变量、表达式和参数都具有一个相关的数据类型。数据类型是一种属性,用于指定对象可保存的数据的类型:整数数据、字符数据、货币数据、日期和时间数据、二进制字符串等。第3章已经提到。 6.2.3 变量

变量就是在程序执行过程中其值可以改变的量。 1局部变量

局部变量是作用域局限在一定范围内的T-SQL对象。

作用域:若局部变量在一个批处理、存储过程、触发器中被声明或定义,则其作用域就在批处理、存储过程或触发器内。 (1)局部变量声明 DECLARE {

@变量名 数据类型,@变量名 数据类型 } 注意:

? 变量名必须以 at 符 (@) 开头。局部变量名必须符合有关标识符的规则。

? 数据类型:是系统提供的类型、CLR用户定义类型或别名数据类型。变量不能是 text、

ntext 或 image 数据类型。

? 变量先声明或定义,然后就可以在SQL命令中使用。默认初值NULL。 (2)赋值

格式:SET @变量名=表达式

格式:SELECT @变量名=表达式/ SELECT 变量名=输出值 FROM表 where .. 说明:变量名是除cursor,text,ntext,image外的任何类型变量名;表达式是任何有效的SQLServer表达式。

SELECT @变量名=表达式用于将单个值返回到变量中,如果表达式为列名,则返回多个。若SELECT语句返回多个值,则将返回的最后一个值赋给变量。若SELECT语句没有返回值,变量保留当前值;若表达式是不返回值的子查询,则变量为NULL。

例6-1:SELECT命令赋值,执行脚本 USE educ GO

DECLARE @var1 varchar(8) --声明局部变量 SELECT @var1='学生姓名' --为局部变量赋初始值 SELECT @var1=Sname --查询结果赋值给变量 FROM student

WHERE SID='bj10001'

SELECT @var1 as '学生姓名' --显示局部变量结果 执行结果:

例6-2:SELECT命令赋值,多个返回值中取最后一个 USE educ go

DECLARE @var1 varchar(8) SELECT @var1='读者姓名'

SELECT @var1=Sname--查询结果赋值,返回的是整个列的全部值,但最后一个给变量 FROM student

SELECT @var1 AS '读者姓名' --显示局部变量的结果 执行结果:

例6-3:SET命令赋值

USE educ go

DECLARE @no varchar(10)

SET @no='Bj10001' --变量赋值 SELECT SID,Sname FROM student WHERE SID=@no

执行结果:

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库第6章 T-SQL编程与应用在线全文阅读。

第6章 T-SQL编程与应用.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/1110514.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: