2016-08-11 11 views
0
私はコードの下に使用

select intoを使用している間、エラーメッセージ

SELECT RowsCount = ROW_NUMBER() OVER(ORDER BY PrijsBoek.[Item Code] DESC, PrijsBoek.[Buy-From BP Code] DESC), 
* 
INTO #Student 
FROM [iqbs DataWarehouse].[Purchase].[factPurchasePriceBooks] as PrijsBoek 

DECLARE @MaxRowsCount INT 
SET @MaxRowsCount = (SELECT MAX(RowsCount) FROM #Student) 
DECLARE @Iter INT 
SET @Iter = (SELECT MIN(RowsCount) FROM #Student) 
WHILE @Iter <= @MaxRowsCount 
BEGIN 
    SELECT * 
    FROM #Student 
    WHERE RowsCount = @Iter 
    SET @Iter = @Iter + 1 
END 
DROP TABLE #Student 

しかし、私は次のエラーメッセージ(複数可)を取得:

Msg 207, Level 16, State 1, Line 7 
Invalid column name 'RowsCount'. 
Msg 207, Level 16, State 1, Line 9 
Invalid column name 'RowsCount'. 
Msg 207, Level 16, State 1, Line 14 
Invalid column name 'RowsCount'. 

誰でも任意の手掛かりを?

+0

このコードはacuallyコードの正確なコピーであるか、手動で再書かれていることのいずれかを?私の考えでは、この問題を起こすべきではないので、実際のコードの最初のケースで「行数」のスペルが間違っている可能性があると考えています。 –

答えて

0

は、次のコードを試してみて、自分の状況にそれを採用:

SELECT RowsCount = ROW_NUMBER() OVER(ORDER BY Message_Id DESC), * 
INTO #Student 
FROM sys.Messages 

DECLARE @MaxRowsCount INT = @@ROWCOUNT, @Iter INT = 1, @Text AS VARCHAR(MAX); 
SELECT @Iter , @MaxRowsCount 

WHILE @Iter <= @MaxRowsCount 
BEGIN 
    SELECT @Text = Text FROM #Student WHERE RowsCount = @Iter 
    PRINT @Text 
    SET @Iter += 1; 
END 
DROP TABLE #Student