通过PowerShell通过参数打开或关闭T-SQL顶部



是否可以将参数发送到PowerShell SQL命令(使用Invoke-SQLCMD(中,该命令将选择查询的所有行或只是前5个?

,例如

SELECT TOP $(rowCount) FROM MyTable

我无法在脚本中有效打开/关闭此选择。我以为百分比会起作用,但我只想选择5行,而百分比会返回太多,因为我正在处理由10s行和数百万行组成的数据集。

我想从PowerShell和SQL Management Studio中运行此脚本,而不会抱怨语义,但它似乎不喜欢$((语法。

top中使用的值已经可以在Vanilla sql中动态化:

declare @t table (i int);
insert into @t values(1), (1), (2), (3), (1), (2);
declare @n bigint = 2;
select top (@n) *
from @t;
set @n = 9223372036854775807;  -- Max value available in a BIGINT
select top (@n) *
from @t;

最新更新