nếu bạn mã vòng lặp của bạn với tìm nạp ở dưới cùng (với tìm nạp ban đầu trước vòng lặp) tiếp tục sẽ chỉ chuyển bạn lên trên cùng và xử lý lại hàng đó. bạn có thể sử dụng một GOTO để nhảy đến phần tìm nạp ở phía dưới hoặc cấu trúc lại vòng lặp để tìm nạp ở đầu và đồng xu sẽ hoạt động.
bạn có thể sửa đổi vòng lặp của bạn để sử dụng GOTO ...
...
...
if <condition>
BEGIN
GOTO Fetch_Next
END
....
....
Fetch_Next:
FETCH NEXT FROM ...
Dưới đây là một số mẫu mã cho chỉ có một lấy ở phía trên của vòng lặp, tiếp tục sẽ làm việc:
DECLARE <cursor_name> CURSOR FOR
SELECT
FROM
WHERE
FOR READ ONLY
--populate and allocate resources to the cursor
OPEN <cursor_name>
--process each row
WHILE 1=1
BEGIN
FETCH NEXT FROM <cursor_name>
INTO @a, @b, @c
--finished fetching all rows?
IF @@FETCH_STATUS <> 0
BEGIN --YES, all done fetching
--exit the loop
BREAK
END --IF finished fetching
--do something here--
--do something here--
IF <your condition>
BEGIN
CONTINUE -- fetch next row
END
--do something here--
--do something here--
END --WHILE
--close and free the cursor's resources
CLOSE <cursor_name>
DEALLOCATE <cursor_name>
Nguồn
2009-07-24 17:49:32
Cảm ơn bạn đó là câu trả lời đúng. – codingguy3000