将SQL Query AS设置为变量或参数(Integer首选)并使用它

stc*_*flw 1 sql t-sql variables parameters parameter-passing

我无法在SQL SERVER中解决这个错误的问题.

这是我试图做的一个例子,它没有用.

DECLARE @Total int;
SET @Total = (SELECT COUNT(*)-10 FROM MYTABLE)

SELECT TOP @Total IdColumn FROM MYTABLE
Run Code Online (Sandbox Code Playgroud)

我该如何使用以下查询

SELECT COUNT(*) - 10来自MYTABLE

作为整数变量,在我的代码中的其他地方.

G M*_*ros 5

在top子句中使用变量时,需要使用括号,如下所示:

SELECT TOP(@Total)来自MYTABLE的IdColumn

如果您使用的是SQL2000,则不能在top子句中使用变量.如果您尝试,您将收到解析/语法错误.相反,您可以使用RowCount,如下所示:

DECLARE @Total int;
SET @Total = (SELECT COUNT(*)-10 FROM MYTABLE)

Set RowCount @Total
SELECT IdColumn FROM MYTABLE
Set RowCount 0
Run Code Online (Sandbox Code Playgroud)