Transact-SQL (T-SQL または TSQL と略されることもよくあります) は、Microsoft と Sybase が独自に開発した SQL の拡張機能です。 Transact-SQL は SQL 標準を拡張して、SQL 標準に含まれていない追加機能を組み込みます。
次に、単純な T-SQL ステートメントの例を示します。
CREATE DATABASE Movies;
これは、単純な T-SQL ステートメントです。 SQLの例。これにより、Movies という新しいデータベースが作成されます。
ただし、T-SQL には、データベース ファイルの配置場所、ファイルのサイズ、最大サイズなど、このステートメントに含める追加のオプションが用意されています。
T-SQL の機能には次のものがあります:
1、プログラミング
2、ローカル変数
3、サポート文字列処理、データ処理、数学およびその他の機能
4. DELETE および UPDATE ステートメントの変更。特に、結合を含めることができる FROM 句を追加できます。
5. T-SQL には BULK INSERT ステートメントがあり、これを使用すると、ユーザー指定の形式でデータ ファイルをデータベース テーブルまたはビューにインポートできます。
上記の拡張機能の主な利点の 1 つは、T-SQL および SQL を操作する際のプログラム可能性が向上することです。たとえば、ストアド プロシージャを使用すると、プログラミング ロジックをデータベースに組み込むことができます。 1 つ以上のパラメーターをストアド プロシージャに渡すことができ、ストアド プロシージャはパラメーターの値に基づいて変化する出力を返します。
T-SQL には、ユーザー定義関数のサポートだけでなく、多数の組み込み関数も含まれています。
組み込み関数の例
ここでは別の基本的な例を示します。今回は T-SQL の組み込み関数の 1 つを使用します。
SELECT GETDATE();
出力:
2018-05-06 23:30:37.003
この例では、T-SQL の GETDATE() 関数を使用して、現在の日付と時刻を返します。これは、データを返す一般的な SQL ステートメントである SELECT ステートメントで使用されます。
この関数を別の関数のパラメーターとして使用することもできます。例を次に示します。
SELECT FORMAT(GETDATE(), 'MMM');
結果:
May
T-SQL の歴史
Transact-SQL (および SQL Server)は Microsoft として最もよく知られていますが、実際には 1987 年に始まった Microsoft と Sybase のコラボレーションの成果です。このパートナーシップは 1994 年に解消されました。
それ以来、T-SQL は両社がリリースするデータベース製品によってサポートされ続けていますが、各社は独自の方向に独自のデータベース製品を開発してきました。したがって、Sybase T-SQL と Microsoft T-SQL の間にはいくつかの違いがあります。
T-SQL と GUI ツール
Transact-SQL は SQL Server の中核です。 SQL Server のほとんどの操作は T-SQL を使用して実行されます。これは、実際にプログラミングを行わずに SSMS や DBeaver などの GUI ツールを使用する場合にも当てはまります。アプリケーションを使用して SQL Server と対話するときは常に、アプリケーションはバックグラウンドで T-SQL を使用して、指定されたタスクを実行します。
ただし、Transact-SQL をサポートするデータベース管理システムは SQL Server だけではありません。 Microsoft Azure SQL データベースは T-SQL もサポートしています。アプリケーションで使用されるほとんどの T-SQL 機能は、Microsoft SQL Server および Azure SQL Database で完全にサポートされています (ただし、いくつかの例外があります)。
GO コマンドについて
T-SQL を使用したことのある人は、おそらく GO コマンドに精通しているでしょう。通常、このキーワードはステートメントのバッチの最後に配置されます。たとえば、上記の最初の例は次のように記述することもできます:
CREATE DATABASE Movies;
GO
ただし、GO コマンドは実際には Transact-SQL の一部ではありません。 。実際、GO コマンドは Transact-SQL ステートメントの同じ行を占有することさえできません。
GO は、sqlcmd ユーティリティと osql ユーティリティ、および SQL Server Management Studio コード エディターによって認識されるコマンドの 1 つであり、バッチとスクリプトの読みやすさと実行を容易にします。 GO コマンドは、Transact-SQL ステートメントのバッチの終了を SQL Server ユーティリティに通知します。
SQL Server ユーティリティは、GO を、Transact-SQL ステートメントの現在のバッチを SQL Server のインスタンスに送信する必要があるという信号として解釈します。現在のステートメントのバッチは、操作が最後に実行されて以降、または操作が初めて実行された場合は、アドホック セッションまたはスクリプトの実行の開始以降に入力されたすべてのステートメントで構成されます。
その他の独自の SQL 拡張機能
Transact-SQL は、SQL 標準の唯一の拡張機能ではありません。さまざまなデータベース システムには独自の拡張機能があります。たとえば、Oracle は独自の手続き型言語 PL/SQL を使用し、PostgreSQL は手続き型言語 PL/pgSQL を使用します。
独自の SQL 拡張機能には利点 (拡張機能など) もありますが、欠点もあります。大きな欠点の 1 つは、データベースをあるシステムから別のシステムに移植する必要がある場合に作業が困難になる可能性があることです。たとえば、組織が突然 SQL Server の代わりに Oracle を使用することに決めた場合、SQL Server コードをすべて調べて、Oracle 用に書き直す必要があるかもしれません。これには、両方のシステムの構文に精通している必要もあります。
関連する推奨事項: 「MySQL チュートリアル 」
以上がT-SQL とは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。