【发布时间】:2020-01-18 17:13:22
【问题描述】:
我正在研究一个 Powershell 脚本,其中查询 #1 的输出是查询 #2 的条件提要,但它没有获取提要,如果有人请查看并告诉我可能的解决方案。
另外请注意,在实际环境中,两个查询都在不同的实例上运行,并且没有链接服务器的可能性
下面的例子是我在AdventureWorks 数据库中尝试的:
$instance="WIN2016-SQL01\SQLSERVER_01"
$database = "AdventureWorks2014"
$query1 = "SELECT TOP 10 [BusinessEntityID] FROM [AdventureWorks2014].[Person].[BusinessEntityAddress] where BusinessEntityID < 10 order by 1 "
$Q1 = (invoke-sqlcmd -query $query1 -ServerInstance $instance -Database $database)
$query2 = "SELECT * FROM [AdventureWorks2014].[Person].[Person] where BusinessEntityID in ($Q1)"
$Q2 = invoke-sqlcmd -query $query2 -ServerInstance $instance -Database $database
【问题讨论】:
-
检查 $query2 值,您会看到 $Q1 值变为“System.Data.DataRow System.Data.DataRow...”。您需要使用不同的技术来提供值列表。将您正在使用的 SQL Server 版本添加到您的问题中,以便您获得最适合您情况的答案。
-
#SQL Server 版本:2014 # PSVersion:5.1.14393.20
标签: sql-server powershell sql-scripts