PowerShellからSQLコマンドを実行する方法
##環境
Windows10
PowerShell7.1.0
SQLServer2014R2
##インストール
はじめにPowerShellをインストールします。
##PowerShellの実行
キーボードのWindowsキーとRを同時に押下して、ファイル名を指定して実行のダイアログを表示します。
PWSHと入力して、PowerShellを実行します。
(この際に、Shift+Ctrlを押しながらEnterで実行すると管理者権限で起動することが出来ます。)
##SQLコマンドモードの実行と終了
PowerShellの窓が開いたら、sqlcmdと入力します。
先頭が1>に表示が変わったのを確認したら、これ以降で、SQLクエリを実行することが出来ます。
1> は sqlcmd プロンプトであり、行番号を表しています。
Enter キーを押すたびに、この番号が 1 ずつ増えます。
(sqlcmd セッションを終了するには、 sqlcmd プロンプトで「 EXIT 」と入力します。)
##SQLServerへの接続
ここでは、WWALMDBというDBに接続します。
接続先がWWALMDBになったことを確認します。
##Transact-SQLクエリの実行
上位10件のSELECTを実行します。
そのままだとレイアウトが崩れているので、幅を指定します。
公式サイトより
-w column_width
出力用の画面幅を指定します。 このオプションにより、 sqlcmd スクリプト変数 SQLCMDCOLWIDTH が設定されます。 列幅は 8 よりも大きくかつ 65,536 よりも小さい値にする必要があります。 指定した列幅が範囲外の場合、 sqlcmd はエラー メッセージを生成します。 既定の幅は 80 文字です。 指定した列幅を超えると、出力行は次の列に折り返されます。
-W (remove trailing spaces)
このオプションは、列から後続の空白を削除します。 他のアプリケーションにエクスポートするデータを準備するときは、 -s オプションと同時にこのオプションを使用します。 -y または -Y オプションと共には使用できません。
はじめに、SQLモードに入るところで「sqlcmd -W」のパラメータを付けます。