0

特定の ID が選択されているときに、他のすべての ID をマスクしようとしています。しかし、それは実行されません。これは私がこれまでに持っているものです。

これは私の現在のコードです:

USE [DB1]
Declare IDCursor Cursor
    For
        Select ID, Year, Amount, RefreshDate 
        From Table1
        For Update
    Open IDCursor
    Declare @ID int, @Year datetime, @Amount money, @RefreshDate datetime
    Fetch Next From IDCursor 
    Into @ID, @Year, @Amount, @RefreshDate 
    While @@Fetch_Status = 0
Begin
    If @ID <> 0
    SELECT SUBSTRING(CONVERT(varchar(255), NEWID()), 0, 5)

    Else
    Set @ID = 0

End
Close IDCursor 
Deallocate IDCursor
4

2 に答える 2

0

ループ条件While @@Fetch_Status = 0は決して変わらないため、無限ループになります。ループ内でフェッチを続ける必要があります。

While @@Fetch_Status = 0
Begin
    ...
    Fetch Next From IDCursor Into @ID, @Year, @Amount, @RefreshDate 
End
于 2014-04-08T18:38:35.613 に答える