簡體   English   中英

EXEC Sp_executesql中的錯誤

[英]error in EXEC Sp_executesql

我寫了這個查詢

DECLARE @Base nvarchar(200) 

SET @Base = 'WITH Base AS (SELECT Id, ROW_NUMBER() OVER (ORDER BY Id DESC) RN FROM'+    QUOTENAME(@SampleWorkTbl)+')'

EXEC Sp_executesql @Base output

SELECT Top 15
    [Id]
    ,IsLock
    ,[Title]
    ,[Desc]
    ,[ImageAddress]
    ,[Time]
FROM 
    [Sorin].[dbo].[News]
WHERE 
    [Id] IN (SELECT TOP 15 Id 
             FROM Base 
             WHERE RN > ((@Count-1) * 15) 
             ORDER BY Id DESC)
ORDER BY 
    [Id] DESC

我這行的問題

WHERE [Id] IN (SELECT TOP 15 Id From Base WHERE RN > ((@Count-1)*15) ORDER BY Id DESC)

無法識別Base

如何解決此錯誤?

我認為這是您想要實現的目標

DECLARE @Base NVARCHAR(200)

SET @Base = 'WITH Base AS (SELECT Id, ROW_NUMBER() OVER (ORDER BY Id DESC) RN FROM'
            + Quotename(@SampleWorkTbl) + ')
    select * into ##temp from base'

EXEC Sp_executesql
  @Base

SELECT *
FROM   ##temp

SELECT TOP 15 [Id],
              IsLock,
              [Title],
              [Desc],
              [ImageAddress],
              [Time]
FROM   [Sorin].[dbo].[News]
WHERE  [Id] IN (SELECT TOP 15 Id
                FROM   ##temp
                WHERE  RN > ( ( @Count - 1 ) * 15 )
                ORDER  BY Id DESC)
ORDER  BY [Id] DESC 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM