十年網(wǎng)站開(kāi)發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專業(yè)推廣+無(wú)憂售后,網(wǎng)站問(wèn)題一站解決
如果表中存在數(shù)據(jù)的話,沒(méi)差別。

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛(ài)。我們立志把好的技術(shù)通過(guò)有效、簡(jiǎn)單的方式提供給客戶,將通過(guò)不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名注冊(cè)、網(wǎng)頁(yè)空間、營(yíng)銷軟件、網(wǎng)站建設(shè)、進(jìn)賢網(wǎng)站維護(hù)、網(wǎng)站推廣。
但是如果表中沒(méi)有數(shù)據(jù)的話,第一個(gè)不會(huì)打印任何結(jié)果,第二個(gè)會(huì)打印一個(gè)【'學(xué)號(hào):'',姓名:''】
***補(bǔ)充:****
更正:
如果表中存在數(shù)據(jù)的話,第二個(gè)的最后一條記錄重復(fù)出現(xiàn)一次。
但是如果表中沒(méi)有數(shù)據(jù)的話,第一個(gè)不會(huì)打印任何結(jié)果,第二個(gè)會(huì)打印一個(gè)【'學(xué)號(hào):'',姓名:''】
*************
@@@@補(bǔ)充2:@@@@@
出現(xiàn)重復(fù)記錄的原因(以兩條數(shù)據(jù)為例):
第一種情況:
1、循環(huán)外先f(wàn)etch一條,發(fā)現(xiàn)不是mycur%notfound,進(jìn)入循環(huán)體打印第一條記錄。
2、再fetch一條,發(fā)現(xiàn)不是mycur%notfound,繼續(xù)循環(huán)打印第二條記錄。
3、再fetch一條,發(fā)現(xiàn)是mycur%notfound,停止循環(huán)。
第二種情況:
1、直接進(jìn)入循環(huán)fetch一條,發(fā)現(xiàn)不是mycur%notfound,打印第一條記錄。
2、再循環(huán)fetch一條,發(fā)現(xiàn)不是mycur%notfound,打印第二條記錄。
3、再循環(huán)fetch一條,發(fā)現(xiàn)是mycur%notfound,但程序順序執(zhí)行又執(zhí)行了一遍打印,這個(gè)時(shí)候因?yàn)闆](méi)有記錄產(chǎn)生,變量中存放的就是上一條記錄,所以重復(fù)打印第二條記錄后,退出循環(huán)。
@@@@@@@@@@@@@@@@@@@@@@@@@
#######補(bǔ)充3:###########
不要管循環(huán)幾次(我舉例子是為了方便理解,既然理解不了就不要想了)。你想:程序是順序執(zhí)行的,第一種情況循環(huán)里面的fetch后直接跟的是循環(huán)停止條件,這樣fetch到底后直接跳出循環(huán)。第二種情況fetch后跟的是打印,這樣fetch到底后肯定會(huì)先打印再停止循環(huán),而打印的結(jié)果就是上一次殘留的記錄,就是最后一條記錄。
########################
--
以上,希望對(duì)你有所幫助。
BEGIN
FOR I IN 1 .. 10 LOOP
FOR J IN 1..20 LOOP
DBMS_OUTPUT.PUT_LINE('J IS :'|| J);
EXIT WHEN J = 10;
END LOOP INNER;
DBMS_OUTPUT.PUT_LINE('I IS:'||I);
EXIT WHEN I = 5;
END LOOP OUTER;
END;
exit when 是跳出整個(gè)循環(huán),11g里面才有continue的語(yǔ)法。
exit跳出循環(huán),你是說(shuō)要continue的那,這個(gè)似乎沒(méi)有,可以用if else 來(lái)解決。
begin
for?i?in?1..10?loop
if?i3?then
dbms_output.put_line(i);
if?i=5?then
exit;
end?if?;
end?if;
end?loop;
end;
loop循環(huán)有3種
第一種直接loop 用exit when 退出
第二種是for loop 他用 for i in ... loop
第三種是while loop
exit跳出循環(huán)。SQLSERVER用BREAK
if 跳出循環(huán)的條件 then
exit;
end if;
或者
exit when 條件(一定是一個(gè)返回true或者false的判斷條件)