テーブルをループするストアドプロシージャを作成しています。&テンポラリテーブルに値を挿入すると、最終的に一時テーブル&をループします。ループスルーテーブルと値の追加
これまでは、一時テーブルに値を挿入する最初のループを作成しました。
私はこのエラーを取得しています...ここで
There is already an object named '#testtable' in the database.
が私のコードです:
set ANSI_NULLS ON
set QUOTED_IDENTIFIER OFF
GO
DECLARE @TestID int,
@TestValue int,
@sum int
CREATE TABLE #testtable (TestID int,
TestValue int)
DECLARE loop CURSOR FOR
SELECT TestValue
FROM tblTest
WHERE TestID > 1
OPEN loop
FETCH NEXT FROM loop INTO @TestID,@TestValue
WHILE @@FETCH_STATUS = 0
BEGIN
INSERT INTO #temp (TestID, TestValue) values (@TestID, @TestValue)
FETCH NEXT FROM loop INTO @TestID,@TestValue
END
CLOSE loop
DEALLOCATE loop
SELECT @TestID FROM #testtable WHERE @TestID > 1
を行う必要がありますこれはcursoprで行われることはありませんshoujld仕事です。カーソルを使用して挿入、更新、または削除しないでください。http://wiki.lessthandot.com/index.php/Cursors_and_How_to_Avoid_Them – HLGEM