複数のテーブルのデータを更新中です。現在、「sources」フィールドが 1 つあるテーブルがあります。これは、「itemid」フィールドを含むすべてのテーブルのリストです。「itemid」と「olditemid」の 2 つのフィールドを持つテーブルもあります。TSQL では、ソースを繰り返し処理し、その場で更新ステートメントを作成したいと考えています。これが私がやろうとしていたことですが、更新ステートメントで変数が宣言されていないというエラーが発生します。これが私がこれを行うべき正しい方法に近いかどうかはわかりません。アイデア?
DECLARE @tblName varchar(50)
DECLARE process_cursor CURSOR FOR
SELECT source
FROM tmpTableNames
OPEN process_cursor
FETCH NEXT FROM processcursor
INTO @tblName
WHILE @@FETCH_STATUS = 0
UPDATE @tblName
SET itemid = r.itemid
FROM @tblName v, itemref r
WHERE r.olditemid = v.itemid
FETCH NEXT FROM process_cursor
INTO @tblName
END
CLOSE processcursor
DEALLOCATE processcursor