exit跳出循環(huán),你是說要continue的那,這個(gè)似乎沒有,可以用if else 來解決。
湘潭網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營維護(hù)。創(chuàng)新互聯(lián)自2013年起到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。
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的判斷條件)
select * from v$access a where object like '存儲過程名%' --存儲過程名為大寫字母
select * from v$session where sid=74 --74為上一個(gè)查詢得到的SID值,可能是多個(gè),這里找到他們對應(yīng)的serial#值
alter system kill session '74,118' --參數(shù)為'sid,serial#',用于停止這個(gè)回話,同時(shí)也終止了存儲過程
BEGIN
dbms_lock.sleep(300);
FOR I IN 1..100 LOOP
dbms_lock.sleep(120);
INSERT INTO CONN_TEST(CODE_DESC) VALUES (I);
//在這里去讀一個(gè)表里面的值,你可以通過改變此值強(qiáng)制退出循環(huán)
select stopflg into v_stopflag from testtabble;
if v_stopflag =1 then exit; end if;
END LOOP;
END;
如果表中存在數(shù)據(jù)的話,沒差別。
但是如果表中沒有數(shù)據(jù)的話,第一個(gè)不會打印任何結(jié)果,第二個(gè)會打印一個(gè)【'學(xué)號:'',姓名:''】
***補(bǔ)充:****
更正:
如果表中存在數(shù)據(jù)的話,第二個(gè)的最后一條記錄重復(fù)出現(xiàn)一次。
但是如果表中沒有數(shù)據(jù)的話,第一個(gè)不會打印任何結(jié)果,第二個(gè)會打印一個(gè)【'學(xué)號:'',姓名:''】
*************
@@@@補(bǔ)充2:@@@@@
出現(xiàn)重復(fù)記錄的原因(以兩條數(shù)據(jù)為例):
第一種情況:
1、循環(huán)外先fetch一條,發(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)闆]有記錄產(chǎn)生,變量中存放的就是上一條記錄,所以重復(fù)打印第二條記錄后,退出循環(huán)。
@@@@@@@@@@@@@@@@@@@@@@@@@
#######補(bǔ)充3:###########
不要管循環(huán)幾次(我舉例子是為了方便理解,既然理解不了就不要想了)。你想:程序是順序執(zhí)行的,第一種情況循環(huán)里面的fetch后直接跟的是循環(huán)停止條件,這樣fetch到底后直接跳出循環(huán)。第二種情況fetch后跟的是打印,這樣fetch到底后肯定會先打印再停止循環(huán),而打印的結(jié)果就是上一次殘留的記錄,就是最后一條記錄。
########################
--
以上,希望對你有所幫助。