我已经声明了一个给我一个整数的变量:
假设变量的定义如下:
DECLARE @mynumber int;
SET @mynumber = 15;
现在我想在这样的查询中使用这个数字:
SELECT TOP @mynumber *
FROM mytable;
我收到一条错误消息:
@mynumber
附近的语法不正确
如何运行查询以使其像
一样运行SELECT TOP 15 * FROM mytable;
答案 0 :(得分:4)
您可以尝试这样:
SELECT TOP(@mynumber) *
FROM mytable;
您可以查看Retrieving the First N Records from a SQL Query了解详情
对于像SQL Server 2000这样的旧版本,您可以像使用
一样使用ROWCOUNTSET ROWCOUNT @mynumber
SELECT * FROM MyTable
SET ROWCOUNT 0