Transact-SQL ( T-SQL ) は、Microsoft SQL Serverを含む Microsoft SQL 製品およびサービス、およびSAP Adaptive Server Enterprise (SAP ASE) で使用されるSQLの拡張機能です。Microsoft は、SQL Server データベースと通信するツールやアプリケーションは、T-SQL コマンドを送信することによって通信を行うと述べています。[ 1 ] SAP は、その実装をリレーショナル データベース言語の拡張バージョンとして説明しています。[ 2 ]
1988 年 1 月、マイクロソフトとAshton-Tate は、 Sybaseからライセンス供与を受けたリレーショナル データベース管理システムをベースにした Microsoft SQL Server を発表しました。[ 3 ] Sybase Adaptive Server Enterprise は後に SAP Adaptive Server Enterprise に改名されました。[ 4 ]マイクロソフトと SAP は、それぞれのデータベース システム向けに Transact-SQL のドキュメントを別々に公開しています。[ 1 ] [ 2 ]
このセクションで説明する機能は、Microsoft による Transact-SQL の実装に関するものです。
ローカル変数はアットマーク(@)で始まり、を使用して宣言されますDECLARE。新しく宣言された変数の値はですNULL。値はSETまたはを使用して割り当てることができますSELECTが、Microsoft はSET変数の割り当てにはを推奨しています。[ 5 ]
制御フロー構造にはBEGIN...END、、、、、、、、、およびIF...ELSEが含まれます。[ 6 ]WHILEBREAKCONTINUERETURNGOTOWAITFORTHROWTRY...CATCH
ストアドプロシージャは、入力パラメータを受け取り、出力パラメータを介して値を返し、データベースを操作するステートメントを含み、呼び出し元にステータス値を返すことができます。[ 7 ]
この構造は、関連するブロック内で特定の実行エラーが発生した場合に、TRY...CATCH制御をブロックに渡します。[ 8 ]CATCHTRY
Transact-SQL は、結合テーブル ソースを使用して行を識別できるように、DELETE追加の句でステートメントを拡張します。 [ 9 ]また、そのステートメントは、更新する行を決定するために使用されるテーブル、ビュー、または派生テーブルのソースを含む句も受け入れます。 [ 10 ]FROMUPDATEFROM
このBULK INSERTステートメントは、ファイルからテーブルまたはビューにデータをインポートします。Microsoft データベース製品によっては、ソースはサーバーからアクセス可能なファイル、またはAzure Storage内のファイルになります。[ 11 ]