Transact-SQL(又称 T-SQL),是在 Microsoft SQL Server 和 Sybase SQL Server 上的 ANSI SQL 实现,与 Oracle 的 PL/SQL 性质相近(不只是实现 ANSI SQL,也为自身数据库系统的特性提供实现支持),目前在 Microsoft SQL Server[1] 和 Sybase Adaptive Server[2] 中仍然被使用为内核的查询语言。 Transact-SQL = 批次特性 + 区块特性 + ANSI SQL 数据库开发人员可以利用Transact-SQL来撰写数据部份的商业逻辑 (Data-based Business Logic),以强制限制前端应用程序对数据的控制能力。同时,它也是数据库对象的主要开发语言。 Transact-SQL 以 ANSI SQL 为主要组成,目前 Microsoft 实现的 Transact-SQL 可支持到 ANSI SQL-92 标准。 批次特性Transact-SQL 可以使用分号 ";" 来分割不同的 SQL 指令。例如: INSERT INTO myTable (myText) VALUES (@myText); SELECT @@IDENTITY 控制流语法Transact-SQL 可支持下列的控制流程语法 (control-flow):
自定义变量在 Transact-SQL 中,可以利用 DECLARE 来声明变量,用 SET 来设置变量值,用 SELECT @var = column 的方式,由一个陈述式的回传值中来取得变量值。 DECLARE @v int -- declare a variable SET @v = 50 -- set variable directly. SELECT @v = SUM(Qty) FROM SaleItemRecords WHERE SaleID = 53928 -- set variable from a result of statement 错误处理Transact-SQL 可以在区块中使用下列方式来处理或引发错误:
|