2017-12-02 7 views
0

SQLをほとんど必要としないデータベースを作成しています。 1つずつ実行するのは効果的ではないので、すべてのファイルを読み込むメインのSQLクエリを作成したかったのです。私はこれを試してみました:別のSQLファイルを使用してsqlファイルを実行する方法MSQL

Declare 
@DBServerName Varchar(100), 
@DBName Varchar(100), 
@FilePathName Varchar(100), 
@strSql varchar(1000) 

Set @DBServerName='USER-PC'-- Server Name 
Set @DBName='testo' -- DB Name 
Set @FilePathName='some path here' 

Set @strSql= 'sqlcmd -S ' + @DBServerName + ' -d ' + @DBName + ' -i ' +  @FilePathName 

EXEC xp_cmdshell @strSql 

これを実行した後、私のクエリが正常に実行されたことを示しているが、私のデータベースに何も表示されていません。私は多くのウェブサイトを見たことがありますが、実際の対応はありません。

+1

何が実行されているかを再現するには、いくつかのコードが必要です。また、すべてのTSQLステートメントを1つのストアドプロシージャに組み込むのはなぜですか? – Parfait

+0

私はここでxp_cmdshellをしたいとは思わない。 – Taraz

答えて

0

ここではxp_cmdshellは必要ありません。動的SQLを実行する場合は、以下のコードを使用する必要があります。

sp_executesql @strsql; 
関連する問題