1. 程式人生 > >sqlserver遊標巢狀時@@FETCH_STATUS的值

sqlserver遊標巢狀時@@FETCH_STATUS的值

declare   外層遊標
open   外層遊標
fetch   next   ...提取外層遊標行
while   @@FETCH_STATUS   =   0
begin
        declare   內層遊標
        open   內層遊標 
        fetch   next   ...提取內層遊標行
        while   @@FETCH_STATUS   =   0
        begin
                    .....業務邏輯處理處理內層遊標
                    fetch   next   ....內層遊標向下移動一行
        end
        close   內層遊標
        deallocate   內層遊標
        fetch   next   ....內層遊標處理結束後,外層遊標才繼續向下移動一行
end  
close   外層遊標
deallocate   外層遊標
       也就是說,外層遊標每移動一行,就要重複進行內層遊標定義,開啟,迴圈,關閉,釋放等操作,然後才能再向下移動行。這樣就不會有影響。