在选定的模式中执行 Powershell 和 SQL 脚本

在选定的模式中执行 Powershell 和 SQL 脚本

有谁能帮我解决这个问题吗?我在一个数据库下有很多模式。在那个数据库中我有一些要执行的 SQL 脚本。我的问题是我应该只能在选定的模式中执行这些 SQL 脚本。

即:假设我总共有 10 个架构(A 到 J)。我想在除 B、G、H 之外的所有架构中执行脚本(提示用户输入例外架构)。我该怎么做?

提前致谢..

答案1

它可能是这样的:(添加您的逻辑以在表格之间切换等..)

$userInput = read-host "exception"
$exceptArray = $userInput -split ","

foreach($allowedSchema in $allowedArray){
    if($exceptArray -notcontains $allowedSchema){

        $sqlString = "select * from [" + $allowedSchema + "].[tableName]"

        $connection = New-Object System.Data.SQLClient.SQLConnection
        $connection.ConnectionString = "server={serverName}\{instanceName};database={databaseName};trusted_connection={true\false};"
        $connection.Open()

        $cmd = New-Object System.Data.SqlClient.SqlCommand
        $cmd.Connection = $connection
        $cmd.CommandText = $sqlString

        $resultSet = $cmd.ExecuteReader()
    }
}

相关内容