fbpx
维基百科

Transact-SQL

Transact-SQL(又稱T-SQL),是在Microsoft SQL ServerSybase SQL Server上的ANSI SQL實作,與OraclePL/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)是對於資料庫物件的控制語法,對資料庫物件(如資料表,預存程序,函數或自訂型別等)的新增,修改和刪除都使用此語法。

  • CREATE(建立資料庫物件)
  • ALTER(修改資料庫物件)
  • DROP(刪除資料庫物件)

DML

DML(Data Manipulation Language)是一般開發人員俗稱的CRUD(Create/Retrieve/Update/Delete)功能,意指資料的新增/擷取/修改/刪除四個功能。

  • SELECT(R)
  • INSERT(C)
  • UPDATE(U)
  • DELETE(D)

DCL

DCL(Data Control Language)是由資料庫所提供的保安功能,對於資料庫與資料庫物件的存取原則與權限,都由DCL定義之。

  • GRANT(賦與權限)
  • REVOKE(撤消權限)

批次

Transact-SQL可以使用分號";"來分割不同的SQL指令。例如:

INSERT INTO myTable (myText) VALUES (@myText); SELECT @@IDENTITY 

控制流語法

Transact-SQL可支援下列的控制流程語法(control-flow):

  1. BEGIN ... END,標示SQL指令區塊,使用BEGIN ... END包裝的指令會被視為同一個指令區塊。
  2. IF ... ELSE的條件式,並可支援巢狀式的IF判斷式,若IF或ELSE中的指令包含兩個以上,則必須要使用BEGIN ... END來標示區塊,否則會發生語法檢查錯誤。
  3. WHILE迴圈,這也是Transact-SQL中唯一支援的迴圈,迴圈中的指令要用BEGIN...END包裝。
  4. RETURN,可強制終止區塊的執行。
  5. WAITFOR,可強制讓陳述式等待指定時間後才繼續執行。
  6. GOTO,可導向執行指令到指定的位置。

自訂變數

在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可以在區塊中使用下列方式來處理或引發錯誤:

  1. RAISERROR,擲出自訂的錯誤狀況。
  2. TRY ... CATCH,使用結構化的方式來處理錯誤(只有Microsoft SQL Server實作的Transact-SQL支援)。
  3. PRINT,可以印出變數值。

開發與管理工具

Transact-SQL通常會使用由SQL Server或Adaptive Server提供的查詢工具,像是:

  • SQL Server Query Analyzer(SQL Server 2000, 7.0, 6.5)
  • SQL Server Management Studio(SQL Server 2008(也可用Visual Studio), 2005)
  • osql.exe,SQL Server 2000, 7.0的命令列SQL工具。
  • sqlcmd.exe,SQL Server 2005的命令列SQL工具

參考資料

  1. ^ Transact-SQL Reference. [2008-09-13]. (原始内容于2008-09-19). 
  2. ^ Sybase Transact-SQL User's Guide. [2020-09-27]. (原始内容于2016-03-06). 

transact, 又稱t, 是在microsoft, server和sybase, server上的ansi, sql實作, 與oracle的pl, sql性質相近, 不只是實作ansi, 也為自身資料庫系統的特性提供實作支援, 目前在microsoft, server, 和sybase, adaptive, server, 中仍然被使用為核心的查詢語言, 是具有批次與區塊特性的sql指令集合, 資料庫開發人員可以利用它來撰寫資料部份的商業邏輯, data, based, business, logic, 以強制. 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是具有批次與區塊特性的SQL指令集合 資料庫開發人員可以利用它來撰寫資料部份的商業邏輯 Data based Business Logic 以強制限制前端應用程式對資料的控制能力 同時 它也是資料庫物件的主要開發語言 目录 1 語言結構 1 1 ANSI SQL基礎語法支援 1 2 批次 1 3 控制流語法 1 4 自訂變數 1 5 錯誤處理 2 開發與管理工具 3 參考資料語言結構 编辑Transact SQL以ANSI SQL為主要組成 目前Microsoft實作的Transact SQL可支援到ANSI SQL 92標準 ANSI SQL基礎語法支援 编辑 DDL 主条目 資料定義語言 DDL Data Definition Language 是對於資料庫物件的控制語法 對資料庫物件 如資料表 預存程序 函數或自訂型別等 的新增 修改和刪除都使用此語法 CREATE 建立資料庫物件 ALTER 修改資料庫物件 DROP 刪除資料庫物件 DML 主条目 資料操縱語言 DML Data Manipulation Language 是一般開發人員俗稱的CRUD Create Retrieve Update Delete 功能 意指資料的新增 擷取 修改 刪除四個功能 SELECT R INSERT C UPDATE U DELETE D DCL 主条目 資料控制語言 DCL Data Control Language 是由資料庫所提供的保安功能 對於資料庫與資料庫物件的存取原則與權限 都由DCL定義之 GRANT 賦與權限 REVOKE 撤消權限 批次 编辑 Transact SQL可以使用分號 來分割不同的SQL指令 例如 INSERT INTO myTable myText VALUES myText SELECT IDENTITY 控制流語法 编辑 Transact SQL可支援下列的控制流程語法 control flow BEGIN END 標示SQL指令區塊 使用BEGIN END包裝的指令會被視為同一個指令區塊 IF ELSE的條件式 並可支援巢狀式的IF判斷式 若IF或ELSE中的指令包含兩個以上 則必須要使用BEGIN END來標示區塊 否則會發生語法檢查錯誤 WHILE迴圈 這也是Transact SQL中唯一支援的迴圈 迴圈中的指令要用BEGIN END包裝 RETURN 可強制終止區塊的執行 WAITFOR 可強制讓陳述式等待指定時間後才繼續執行 GOTO 可導向執行指令到指定的位置 自訂變數 编辑 在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可以在區塊中使用下列方式來處理或引發錯誤 RAISERROR 擲出自訂的錯誤狀況 TRY CATCH 使用結構化的方式來處理錯誤 只有Microsoft SQL Server實作的Transact SQL支援 PRINT 可以印出變數值 開發與管理工具 编辑Transact SQL通常會使用由SQL Server或Adaptive Server提供的查詢工具 像是 SQL Server Query Analyzer SQL Server 2000 7 0 6 5 SQL Server Management Studio SQL Server 2008 也可用Visual Studio 2005 osql exe SQL Server 2000 7 0的命令列SQL工具 sqlcmd exe SQL Server 2005的命令列SQL工具參考資料 编辑 Transact SQL Reference 2008 09 13 原始内容存档于2008 09 19 Sybase Transact SQL User s Guide 2020 09 27 原始内容存档于2016 03 06 取自 https zh wikipedia org w index php title Transact SQL amp oldid 61989955, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。