Transact-SQL(又称 T-SQL),T-SQL是Microsoft公司在关系型数据库管理系统SQL Server中的SQL-3标准的实现,是微软对SQL的扩展,具有SQL的主要特点,同时增加了变量、运算符、函数、流程控制和注释等语言元素,使得其功能更加强大。T-SQL对SQL Server 十分重要,SQL Server中使用图形界面能够完成的所有功能,都可以利用T-SQL来实现。使用T-SQL操作时,与SQL Server通信的所有应用程序都通过向服务器发送T-SQL语句来进行,而与应用程序的界面无关。
根据其完成的具体功能,可以将T-SQL语句分为四大类,分别为数据定义语句,数据操作语句,数据控制语句和一些附加的语言元素。
Transact-SQL 语法约定
适用于: ● SQL Server(从 2008 开始) ● Azure SQL 数据库 ● Azure SQL 数据仓库 ● 并行数据仓库。下表列出了 Transact-SQL 参考的语法关系图中使用的约定,并进行了说明。
约定 | 用于 |
---|---|
大写 | Transact-SQL 关键字 |
斜体 | 用户提供的 Transact-SQL 语法的参数 |
粗体 | 完全按显示原样键入数据库名称、表名称、列名、索引名称、存储过程、实用工具、数据类型名称和文本 |
下划线 | 指示当语句中省略了包含带下划线的值的子句时应用的默认值 |
| (垂直条) | 分隔括号或大括号中的语法项。 只能使用其中一项 |
[ ](方括号) | 可选语法项。不要键入方括号。 |
{ }(大括号) | 必选语法项。不要键入大括号。 |
[,...n] | 指示前面的项可以重复 n 次。各项之间以逗号分隔。 |
[ ...n] | 指示前面的项可以重复 n 次。每一项由空格分隔。 |
; | Transact-SQL 语句终止符。虽然此版本的 SQL Server 中大部分语句都不需要分号,但今后发布的版本需要分号。 |
<label>::= | 语法块的名称。 使用此约定,可以对能在一条语句中的多个位置使用的过长语法段或语法单元进行分组和标记。 可使用语法块的各个位置用括在尖括号内的标签指明:<label>。集是表达式的集合,例如 <分组集>;列表是集的集合,例如 <组合元素列表>。 |
多部分名称
除非另外指定,否则,所有对数据库对象名的 Transact-SQL 引用将是由四部分组成的名称,格式如下:
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 数据库引擎 也能标识对象。 不过,如果找不到对象,便会返回错误。
备注:为了避免名称解析错误,建议只要指定了架构范围内的对象时就指定架构名称。
若要省略中间节点,请使用句点来指示这些位置。 下表显示了对象名的有效格式:
对象引用格式 | 描述 |
---|---|
server.database.schema.object | 四个部分的名称 |
server.database..object | 省略架构名称 |
server..schema.object | 省略数据库名称 |
server...object | 省略数据库和架构名称 |
database.schema.object | 省略服务器名 |
database..object | 省略服务器和架构名称 |
schema.object | 省略服务器和数据库名称 |
对象 | 省略服务器、数据库和架构名称 |
文章评论