gpt4 book ai didi

sql-server - 带参数的 ROW_NUMBER

转载 作者:行者123 更新时间:2023-12-03 02:20:04 24 4
gpt4 key购买 nike

我正在使用 SQL Server 2008。我的程序是

SELECT ContractorID ,
Name,
ROW_NUMBER() OVER (ORDER BY ContractorID) as RowNumber
FROM dbo.Contractor

这是有效的,但现在我想将参数传递到 OVER 函数中。

我已经尝试过:

DECLARE @OrderBy VARCHAR(MAX)
SET @OrderBy = 'ORDER BY ContractorID'

SELECT ContractorID ,
Name,
ROW_NUMBER() OVER (@OrderBy) as RowNumber
FROM dbo.Contractor

这给出了错误“@OrderBy 附近的语法不正确”?我怎样才能做到这一点?谢谢。

最佳答案

你可能有一个动态SQL,然后执行它

DECLARE @OrderBy VARCHAR(MAX)
SET @OrderBy = 'ORDER BY ContractorID'
DECLARE @SQL VARCHAR(MAX)
SET @SQL =
'SELECT ContractorID ,
Name,
ROW_NUMBER() OVER (' + @OrderBy + ') as RowNumber
FROM dbo.Contractor '

EXEC (@SQL)

关于sql-server - 带参数的 ROW_NUMBER,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18010400/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com