0
我想創建一個分頁[主要動機]動態查詢,這裏是我的代碼:如何從動態查詢創建臨時表?
Alter proc proc_GetData
(
@TableName varchar(500)='tblPropertyType',
@PrimaryKey varchar(500)='Id',
@Columns varchar(max)='PropertyType',
@WhereCondition varchar(max)='',
@RecsPerPage int =3,
@Page int=1,
@SortColumn varchar(500)='Id',
@SortDirection Varchar(56)='asc'
)
as
DECLARE @SQL VARCHAR(MAX)
DECLARE @DSQL VARCHAR(MAX)
DECLARE @FirstRec int, @LastRec int
SET @FirstRec = (@Page - 1) * @RecsPerPage
SET @LastRec = (@Page * @RecsPerPage + 1)
select @FirstRec
select @LastRec
SET @SQL='
SELECT
ROW_NUMBER() OVER (ORDER BY ' + @SortColumn+ ' '+ @SortDirection +') RowNum,'+ @PrimaryKey +' , ' [email protected] + ' from ' [email protected]+ ' Where 1=1 '+
@WhereCondition
我想要做的是:
- 首先:惰性所有的記錄從上面的查詢臨時表。
- 第二個:
SELECT * FROM @TEMPResult WHERE RowNum > @FirstRec AND RowNum < @LastRec
。
由於其工作請幫我爲我 – 2013-03-25 11:55:40
你是否意識到'INTO tempTableName'不是一個臨時表? – Taryn 2014-10-03 19:18:28
@bluefeet,但它的*名稱*溫度這是重要的,對嗎?這樣沒有人可以使用它。 /諷刺 – swasheck 2014-10-03 19:20:54