Transact-SQLTransact-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是具有批次與區塊特性的SQL指令集合,資料庫開發人員可以利用它來撰寫資料部份的商業邏輯(Data-based Business Logic),以強制限制前端應用程式對資料的控制能力。同時,它也是資料庫物件的主要開發語言。 語言結構Transact-SQL以ANSI SQL為主要組成,目前Microsoft實作的Transact-SQL可支援到ANSI SQL-92標準。 ANSI SQL基礎語法支援DDL DDL(Data Definition Language)是對於資料庫物件的控制語法,對資料庫物件(如資料表,預存程序,函數或自訂型別等)的新增,修改和刪除都使用此語法。
DML DML(Data Manipulation Language)是一般開發人員俗稱的CRUD(Create/Retrieve/Update/Delete)功能,意指資料的新增/擷取/修改/刪除四個功能。
DCL DCL(Data Control Language)是由資料庫所提供的保安功能,對於資料庫與資料庫物件的存取原則與權限,都由DCL定義之。
批次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可以在區塊中使用下列方式來處理或引發錯誤:
開發與管理工具Transact-SQL通常會使用由SQL Server或Adaptive Server提供的查詢工具,像是:
參考資料
|
Portal di Ensiklopedia Dunia