Sql server 从结果中提取前10名,而不修改实际查询

Sql server 从结果中提取前10名,而不修改实际查询,sql-server,Sql Server,我有一个动态查询,我正在存储过程中使用exec命令来执行它 现在我只想从执行的查询结果中提取前10行 我不能修改查询,我只想从结果中提取 这就是我正在执行的查询 DECLARE @Str nvarchar(max) SET @str = 'SELECT * FROM tblC6FD_QueryBuilderMaster' EXEC (@str) 如何在不修改查询的情况下限制结果 谢谢使用: “旧的skool”方法是有一个中间温度表 CREATE TABLE #temp (y

我有一个动态查询,我正在存储过程中使用exec命令来执行它

现在我只想从执行的查询结果中提取前10行

我不能修改查询,我只想从结果中提取

这就是我正在执行的查询

 DECLARE @Str nvarchar(max)
 SET @str = 'SELECT *
      FROM tblC6FD_QueryBuilderMaster'

 EXEC (@str)
如何在不修改查询的情况下限制结果

谢谢

使用:


“旧的skool”方法是有一个中间温度表

CREATE TABLE #temp (yourColName yourType)

DECLARE @Str nvarchar(max)
SET @str = 'SELECT *
      FROM tblC6FD_QueryBuilderMaster'

INSERT INTO #temp 
EXEC (@str)

SELECT TOP 10 *
FROM #temp 
。。。“新的”(SQL Server>=2005)方法将使用ROWCOUNT方法,正如@ek0所做的那样

CREATE TABLE #temp (yourColName yourType)

DECLARE @Str nvarchar(max)
SET @str = 'SELECT *
      FROM tblC6FD_QueryBuilderMaster'

INSERT INTO #temp 
EXEC (@str)

SELECT TOP 10 *
FROM #temp