Transact-SQL (T-SQL) 是 SQL Server 的專屬程式設計語言,在 ANSI SQL-92/99 基礎上大幅擴展程序化、系統管理、效能優化能力。理解其七大語言分類架構,能建立完整的 T-SQL 知識地圖,指導學習路徑與技術選型。
| 分類 | 英文縮寫 | 核心功能 | 代表指令 | 主要應用層 |
|---|---|---|---|---|
| 變數宣告 | — | 標量/游標/資料表變數定義、賦值、作用域控制 | DECLARE, SET, SELECT @var | 程式設計基礎 |
| 資料定義語言 | DDL | 資料庫/物件建立、修改、刪除、結構描述管理 | CREATE/ALTER/DROP DATABASE/TABLE/VIEW/PROC/INDEX/FUNCTION/TRIGGER | 結構管理 |
| 資料操縱語言 | DML | 資料查詢、新增、修改、刪除、游標操作 | SELECT, INSERT, UPDATE, DELETE, MERGE, CURSOR | 業務邏輯核心 |
| 資料控制語言 | DCL | 權限授予/撤銷、角色管理、安全性實體控制 | GRANT, REVOKE, DENY, sp_addlogin, sp_adduser, sp_addrolemember | 安全治理 |
| 流程控制語言 | — | 條件分支、迴圈、例外處理、動態 SQL | IF...ELSE, WHILE, CASE, BEGIN...END, TRY...CATCH, EXEC/sp_executesql | 程序化邏輯 |
| 內建函數 | — | 字串/數值/日期/轉換/統計/系統/彙總/窗格函數 | 100+ 函數 (見各函數專章) | 資料轉換計算 |
| 其他命令 | — | 備份/還原、檢查點、一致性檢查、設定選項、診斷 | BACKUP/RESTORE, CHECKPOINT, DBCC, SET, sp_configure, KILL | 系統運維 |
本章聚焦 變數宣告、流程控制、內建函數、其他命令 四大類,其餘 DDL/DML/DCL 分散於後續專章:
| 版本 | 關鍵 T-SQL 擴展 |
|---|---|
| SQL 2000 | TABLE 變數、INSTEAD OF 觸發器、使用者定義函數、INDEX 增強 |
| SQL 2005 | TRY/CATCH、ROW_NUMBER/OVER、PIVOT/UNPIVOT、XML 原生、CLR 整合 |
| SQL 2008 | MERGE、稀疏欄位、篩選索引、日期時間新型別、空間資料 |
| SQL 2012 | 窗格函數完整支援、SEQUENCE、THROW、含資料庫使用者 |
| SQL 2016+ | JSON、R/Python 整合、記憶體優化 OLTP、圖形擴展、智慧查詢處理 |
T-SQL 不只是 SQL 的方言,更是一門完整的領域專用程式語言。系統性掌握其分類架構,能在面對新版本新特性時快速定位學習重點,構建持久的技術競爭力。