私のシナリオは少し異なります。ストアドプロシージャで行っていることは
一時テーブルを作成し、「カーソル」を使用して行を挿入します
Create Table #_tempRawFeed
(
Code Int Identity,
RawFeed VarChar(Max)
)
カーソルを使用して一時テーブルにデータを挿入します
Set @GetATM = Cursor Local Forward_Only Static For
Select DeviceCode,ReceivedOn
From RawStatusFeed
Where C1BL=1 AND Processed=0
Order By ReceivedOn Desc
Open @GetATM
Fetch Next
From @GetATM Into @ATM_ID,@Received_On
While @@FETCH_STATUS = 0
Begin
Set @Raw_Feed=@ATM_ID+' '+Convert(VarChar,@Received_On,121)+' '+'002333'+' '+@ATM_ID+' : Bills - Cassette Type 1 - LOW '
Insert Into #_tempRawFeed(RawFeed) Values(@Raw_Feed)
Fetch Next
From @GetATM Into @ATM_ID,@Received_On
End
次に、別のカーソルを使用して一時テーブルの各行を処理する必要があります
DECLARE @RawFeed VarChar(Max)
DECLARE Push_Data CURSOR FORWARD_ONLY LOCAL STATIC
FOR SELECT RawFeed
FROM #_tempRawFeed
OPEN Push_Data
FETCH NEXT FROM Push_Data INTO @RawFeed
WHILE @@FETCH_STATUS = 0
BEGIN
/*
What Should i write here to retrieve each row one at a time ??
One Row should get stored in Variable..in next iteration previous value should get deleted.
*/
FETCH NEXT FROM Push_Data INTO @RawFeed
END
CLOSE Push_Data
DEALLOCATE Push_Data
Drop Table #_tempRawFeed
各行を一度に1つずつ取得するには、BEGINに何を書き込む必要がありますか?1つの行がVariableに格納されます。次の反復では、前の値が削除されます。