什么是T-SQL?

很多编码员在刚接触数据库或者接触数据库一段时间后,对select、insert、update、delete、sum()、convert()等代码感到困惑。这些是什么?其实这些就是我们常说的SQL语句。更正式的说法是,它们被称为T-SQL。那么什么是T-SQL呢?在Microsoft SQL Server 7.0中,T-SQL有许多新的函数,包括新的存储过程、系统表、函数、数据类型、语句和现有语句中的选项。这些都保存在SQL Server 2000中,所以我们需要在这里先复习一下(特别是如果你不熟悉SQL Server 7.0中T-SQL的功能,这个复习很重要)。由于新功能太多,无法讨论,这里只针对每个类别举几个例子来介绍。系统存储过程系统存储过程由SQL Server提供,用于执行管理和其他任务,包括更新系统表和从系统表中检索数据。系统存储过程随SQL Server一起安装,其名称以sp_(系统存储过程)或xp_(扩展存储过程)开头。这些存储过程存储在master数据库中,权限属于系统管理员。但是,许多过程可以从用户定义的数据库中运行,以从特定数据库的系统表中检索信息。运行系统存储过程时,它会在当前数据库的系统表中展开操作。Sp_cycle_errorlog关闭当前错误日志文件,并将其重命名为errorlog.1(如有必要,将旧的errorlog.1重命名为errorlog.2,依此类推),并启动新的错误日志文件。

Sp_helpfile返回与当前数据库相关的文件的名称和属性。

Sp_helpfilegroup返回与当前数据库关联的文件组的名称和属性。

Sp_helprole返回与当前数据库相关的角色信息。

Sp_help_alert报告服务器定义的警报信息。

Sp_start_job指示SQL Server代理启动作业。

这些存储过程并不是唯一提供即时信息的存储过程,但是在使用您的用户数据库时,它们会非常有用。例如,当执行T-SQL脚本并将输出保存到文件时,提供用户信息的过程非常有用。您可以将sp_helpfile、sp_helpfilegroup和sp_helpdb的执行结果存储在特定数据库中。毕竟,当您需要重建数据库时,有必要了解文件、文件组和数据库选项的原始设置。在SQL Server 7.0中添加并保留SQL Server 2000中的系统存储过程列表。函数SQL Server的内置函数提供了一种快速简单的方法来完成某些任务。SQL Server 7.0增加了几个有用的函数,这些函数也包含在SQL Server 2000中。了解哪些函数可用可以使SQL Server应用程序的设计变得更容易一些。新函数的完整列表可以在联机丛书的“Transact-SQL的新增和增强函数”主题中找到。以下是一些可能对您有帮助的功能:

NEWID创建uniqueidentifier数据类型的全局唯一标识符(GUID)。您需要使用这个函数,通过NEWID()为该数据类型的列赋值。(此函数不需要参数。)

YEAR返回指定日期中年份部分的整数。使用模式为年(日期)。例如,下面的Select Year语句(' 07/11/01 ')将返回值2001。

MONTH返回指定日期中月份部分的整数。使用月份(日期)。例如,下面的select month语句(' 07/11/01 ')将返回值7。

DAY返回指定日期的日期部分的整数。使用模式为日(日期)。例如,以下语句Select Day(' 07/11/01 ')将返回值11。

FILE_NAME返回文件ID的逻辑文件名。使用方式为文件名(文件标识号)。例如,语句SELECT FILE_NAME(4)是文件ID为4的文件的逻辑名称。如果在数据库中找不到具有该ID的文件,则返回NULL。