Powershell Invoke-Sqlcmd和输入中的多个select语句

时间:2015-12-30 00:37:22

标签: sql powershell invoke-sqlcmd

我面临的问题在于使用下面的invoke-sqlcmd命令

sh ~/path/to/script descriptor "dir_*_map"

$ sqlfile中的示例sql是:

$result = Invoke-Sqlcmd -InputFile $sqlfile -ServerInstance $DB 

我之后的输出类型将是一个接一个的两个表的单个结果。

例如......

SELECT TOP 2 FROM [TABLE1]
SELECT TOP 3 FROM [TABLE2]

这甚至可能吗?

我尝试使用 Invoke-Sqlcmd2 认为PSCustomObject数据类型更容易玩...

TABLE1
data1
data2
TABLE2
data1
data2
data3

然而,这似乎只处理第一个选择查询而忽略第二个。

1 个答案:

答案 0 :(得分:0)

您是否考虑过在SQL文件中进行CROSS JOIN? 请考虑以下内容:here

您可以这样做:

SELECT * FROM Table1
CROSS JOIN Table2

如果存在关系,这将为您提供两个表之间关联的所有数据,无论。如果你想通过关系加入,请检查一些其他SQL连接,例如LEFT JOIN,INNER JOIN等