2012-04-12 6 views
0

私はPowerShellのから、次の.sqlファイルを実行しようとしていると言うことができますが(sqlcmdの)

SELECT * FROM table 

現在、これは私がこのファイルを呼び出しています方法です

Invoke-Sqlcmd -ServerInstance instance -Database database -Username username -Password password -InputFile basicQuery.sql 

"myTable"から選択したければ、そのパラメータをSQLファイルにどのように渡すのですか?

答えて

1

クエリが例のように基本的なものである場合、パラメータを-Queryに置き換える方が簡単です。ここで変数を簡単に使用できます。例えば。より高度なクエリについては

$tables = "MyTable1","MyTable2" 
$tables | Foreach-Object { 
    Invoke-Sqlcmd -ServerInstance instance -Database database -Username username -Password password -Query "SELECT * FROM $_" 
} 

、あなたは交換するファイルの検索を行うことができます:

Get-Content sqlTemplate.sql | Foreach-Object { 
    $_ -replace "TABLE", "MyTable" | Out-File myQuery.sql -Append 
} 
Invoke-Sqlcmd -ServerInstance instance -Database database -Username username -Password password -InputFile myQuery.sql 
関連する問題