PDA

View Full Version : 2cursor lồng nhau?



congdu
22-06-2006, 09:04
các bạn chỉ giúp mình cách dùng 2 con trỏ lồng nhau giùm?@@fetch_status có ảnh hưổng nhau ntn?

phatnq2003
26-06-2006, 09:57
Theo như bạn nói là duyệt 2 cursor lồng nhau bằng WHILE phải không?

Thường thì để duyệt 2 cursor lồng nhau sẽ có dạng:

SET @cur1 CURSOR FOR ...
SET @cur2 CURSOR FOR ...
OPEN @cur1
FETCH NEXT FROM @cur1 INTO ...
WHILE @@FETCH_STATUS = 0
begin
...
OPEN @cur2
FETCH NEXT FROM @cur2 INTO ...
WHILE @@FETCH_STATUS = 0
begin
...
FETCH NEXT FROM @cur2 INTO ...
end
CLOSE @cur2
FETCH NEXT FROM @cur1 INTO ...
end
DEALLOCATE @cur2
CLOSE @cur1
DEALLOCATE @cur1

@@FETCH_STATUS sẽ hiển thị trạng thái của cursor gần nhất. Khi bạn CLOSE một cursor, @@FETCH_STATUS sẽ tính theo tình trạng của cursor gần nhất còn mở.