第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

光標(biāo)的退出寫在fetch語句前面,為什么會(huì)出現(xiàn)重復(fù)記錄???

fetch cemp into pename,psal;?

??EXIT when cemp%notfound;?

與?

EXIT when cemp%notfound; ?

fetch cemp into pename,psal;?

得出的結(jié)果不一樣,這是為什么?

?第一種方式結(jié)果如下:

?... MILLER的薪水是:1300?

第二種結(jié)果如下:

?... MILLER的薪水是:

1300 MILLER的薪水是:

1300?

第二種最后一條記錄重復(fù)出現(xiàn)兩次是何原因?

正在回答

3 回答

fetch是用來提取游標(biāo)數(shù)據(jù)的,你這樣寫,會(huì)多一次提取數(shù)據(jù)的機(jī)會(huì)

0 回復(fù) 有任何疑惑可以回復(fù)我~

set serveroutput on

declare

cursor s is select ename from emp;

pename emp.ename%type;

begin

open s;

loop

exit when s%notfound;

dbms_output.put_line('before:'||pename);

fetch s into pename;

dbms_output.put_line('after:'||pename);

end loop;

close s;

end;

/

輸出結(jié)果:

before:

after:SMITH

before:SMITH

after:ALLEN

before:ALLEN

after:WARD

before:WARD

after:JONES

before:JONES

after:MARTIN

before:MARTIN

after:BLAKE

before:BLAKE

after:CLARK

before:CLARK

after:KING

before:KING

after:TURNER

before:TURNER

after:JAMES

before:JAMES

after:FORD

before:FORD

after:MILLER

before:MILLER

after:MILLER

第一次判斷沒跳轉(zhuǎn),只是證明表里有記錄,在取值之前一直是上一條數(shù)據(jù)的記錄。

set serveroutput on

declare

cursor s is select ename from emp;

pename emp.ename%type;

num number:= 16;

begin

open s;

loop

exit when num<0;

dbms_output.put_line('before:'||pename);

fetch s into pename;

dbms_output.put_line('after:'||pename);

num := num -1;

end loop;

close s;

end;

/

輸出結(jié)果:

before:

after:SMITH

before:SMITH

after:ALLEN

before:ALLEN

after:WARD

before:WARD

after:JONES

before:JONES

after:MARTIN

before:MARTIN

after:BLAKE

before:BLAKE

after:CLARK

before:CLARK

after:KING

before:KING

after:TURNER

before:TURNER

after:JAMES

before:JAMES

after:FORD

before:FORD

after:MILLER

before:MILLER

after:MILLER

before:MILLER

after:MILLER

before:MILLER

after:MILLER

before:MILLER

after:MILLER

before:MILLER

after:MILLER

證明fetch跳到最后一條記錄以后就不會(huì)再報(bào)NULL值了,而是一直保存最有一個(gè)值。

綜上所述:循環(huán)多執(zhí)行了一遍,最后一個(gè)值被多打印了一次!希望對(duì)你有幫助!

0 回復(fù) 有任何疑惑可以回復(fù)我~

可能是光標(biāo)取值之后,何時(shí)會(huì)跳轉(zhuǎn)到下一條記錄,跟這個(gè)有關(guān),就是在最后一次判斷的時(shí)候光標(biāo)還沒有跳到下一條記錄。

0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消

光標(biāo)的退出寫在fetch語句前面,為什么會(huì)出現(xiàn)重復(fù)記錄???

我要回答 關(guān)注問題
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)