SQL ServerのGOコマンド
SQL Serverには「GO」というコマンドがあります。他ではあまりみかけないこの独自コマンド「GO」を解説します。
GO コマンドが使用できるところ
GOコマンドはSQLコマンドのように見えますがSQLではありません。マイクロソフトが独自に拡張したTransact-SQLでもありません。
GOコマンドは下記3箇所で使えます。
- sqlcmd ユーティリティ
- osql ユーティリティ
- SQL Server Management Studio のコード エディター
GOコマンドはこの3つのツールで使えるツール用のコマンドです。
GO コマンドの使い方
ここでは、sqlcmdコマンドをDOSプロンプトを使って実行してみます。sqlcmdの使い方はこちらを参照してください。
-- Windows認証でServer1に接続します sqlcmd -S server1 -E -- USEを使ってデータベースを指定します >1 USE db1 -- sqlcmdで現在日付を取得します >2 select getdate() -- 実行します >3 go [結果] 2023-02-01-01:00:00 817
ここでは、SQL Serverに接続し、データベースを指定し、SELECTしました。SELECTした時点では値が返ってきません。
GO コマンドを実行すると、SELECTの結果が取得できます。このように、GO コマンドの時点までが実行されます。
GOを使うときは変数に注意する
注意点として、GOコマンドは前回のGOコマンドを実行した位置以降から有効となります。よって、変数を事前に定義しても前回のGOコマンド以降の行ではその変数は使えません。
GOコマンド以降にまた変数を定義する必要があります。変数は有効な場所でないと使えないためGOと変数の位置関係に注意が必要です。
参照:GO (TRANSACT-SQL) – Microsoft Docs
以上、SQL Serverの「GO」コマンドでした。
コメント