是否可以将参数发送到powershell sql命令(使用invoke-sqlcmd),该命令将选择查询的所有行或仅选择前5行?
e.g。
SELECT TOP $(rowCount) FROM MyTable
我无法在脚本中有效地打开/关闭此选项。我认为PERCENTAGE可以工作,但我只想选择5行而 PERCENTAGE 会返回太多,因为我处理的数据集包含10行和数百万行。
我想从PowerShell和SQL管理工作室运行这个脚本而不抱怨它的语义,但它似乎不喜欢$()语法。
答案 0 :(得分:2)
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;