2

PowerShell から次の .sql ファイルを実行しようとしているとしましょう

SELECT * FROM table

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

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

「myTable」から選択したい場合、そのパラメーターをどのように sql ファイルに渡しますか?

4

1 に答える 1

2

-InputFileクエリが例のように基本的なものである場合は、パラメーターを-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
于 2012-04-12T18:18:24.090 に答える