由于sqlserver 2000 top 时,只支持常量(据说2005支持top函数)。要想直接实现top ?是肯定不可能的了,这里有一个办法仅供参考,不过有点复杂,希望路过的网友提供更好的办法.

CREATE PROCEDURE CustomersTop
(
    @TOP VARCHAR(25),  -- TOP 子句,也就是参数n
    @ORDERBY VARCHAR(500) -- ORDER BY 子句
)
AS

SET NOCOUNT ON
DECLARE @sSQL VARCHAR(500)

SELECT @sSQL = 'SELECT TOP ' + @TOP
SELECT @sSQL = @sSQL + ' * FROM Customers'
SELECT @sSQL = @sSQL + ' WHERE ' + @ORDERBY + ' = 1'

--PRINT @sSQL

EXEC(@sSQL)
SET NOCOUNT OFF

GO

相关文章:

  • 2021-08-17
  • 2022-12-23
  • 2021-12-19
  • 2021-12-19
  • 2022-12-23
  • 2021-08-14
  • 2021-11-16
  • 2022-01-03
猜你喜欢
  • 2021-11-21
  • 2021-10-02
  • 2022-02-06
  • 2021-07-11
  • 2021-11-19
相关资源
相似解决方案