1
DECLARE @Versions table (id int);
INSERT INTO @Versions
SELECT DISTINCT Version_Id
FROM dbo.values
WHERE CatId = (SELECT id FROM dbo.Category WHERE Name = 'Locations')
SELECT * FROM @Versions --- returns 1,2
ここまでで、バージョンのデータをフェッチして、テーブル値のパラメータバージョンに格納することができました。バージョン1は、その後、v2のために同じことを行う、その後、いくつかのアップデートを実行するために - しかし、今、私は@Versions
値(インクリメンタルを持っているまでにのみ実行されます条件を指定する方法SQL Serverに値の配列を格納してそれを反復する方法
WHILE(till @Versions has value) -- Iterate till @Versions exhausts its value ,which will be ideally 1,2 then stop iteration
BEGIN
-- Update Statements for each version
END
のようないくつかの操作を実行するために、それを反復処理する必要がありますexit)
また、これを行うには、より良い方法があるかどうかをお教えください。
を使用することができますが、SQLサーバー内のカーソルを見て撮影したことがありますか?それらはセットで宣言され、1つ以上の変数に値をフェッチするために使用できます。カーソルセットにレコードが残っている限り実行されるwhileループを設定できます。カーソルなしで解決したい場合は、何をしようとしているかによって決まります。実行される動的SQLを定義するためにカーソルを使用しない限り、通常は可能です。 –