2017-09-19 13 views
1

データをデータをバッチファイルによってローカルSQL Serverテーブルに挿入する方法はありますか?バッチファイルのINSERT SQLクエリ

テーブルはデータベースIDのように見えます。 compName | availDiskSpace

たとえば、ローカルコンピュータ名とマシン上の使用可能な領域が保持されます。

@echo off 
set computerName = computer123 
set diskSpace = 2GB 
sqlcmd -S server1\SQLExpress 

は、それがINSERTでSQLテーブルにこれらの変数を挿入することが可能である、私は.....私はデータを選択するために、SELECTを使用することができます知っているが、INSERT を示しているどこかcantfindおかげ

+0

どのような情報源から挿入しますか? – alroc

答えて

1

変数を割り当てsqlcmdに-v引数を使用します。例えば:、私は問題ないはずその全てがバッチスクリプトに入れると信じているhttps://docs.microsoft.com/en-us/sql/tools/sqlcmd-utility

sqlcmd -S "server1\SQLExpress" -v diskSpace = "2GB" -v computerName = "Computer123" -q "insert into myTable (diskSpace, computerName) select '$(diskSpace)', '$(computerName)'" 

あなたは-vを使用して変数を宣言すると、あなたはここにSQLCMD$(<VariableName)

より詳細な情報を使用してそれらを参照しますバッチ変数を(あなたが行ったように)設定し、それらをsqlcmd変数の値に割り当てることもできると思います。

FWIWの場合、これはSSMSやストアドプロシージャで行うほうがはるかに簡単です。

+0

Xedniに感謝します。これは今や理にかなっています – Sup