Oracle中实现continue的方法
生活随笔
收集整理的這篇文章主要介紹了
Oracle中实现continue的方法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
CREATE?TABLE?AREAS
(
??RADIUS??NUMBER(5),
??AREA????NUMBER(14,2)
);
???pi???CONSTANT?NUMBER?(9,?7)??:=?3.1415927;
???radius????????INTEGER?(5);
???area??????????NUMBER?(14,?2);
BEGIN
???radius?:=?0;
???LOOP
??????<<here>>
??????radius?:=?radius?+?1;
??????IF?radius?=?4
??????THEN
?????????GOTO?here;
??????ELSE
?????????area?:=?pi?*?POWER?(radius,?2);
?????????INSERT?INTO?areas
??????????????VALUES?(radius,?area);
?????????EXIT?WHEN?area?>?100;
??????END?IF;
???END?LOOP;
???COMMIT;
EXCEPTION
???WHEN?OTHERS
???THEN
??????ROLLBACK;
??????RAISE;
END;
DECLARE
???pi?????CONSTANT?NUMBER?(9,?7)??:=?3.1415927;
???radius??????????INTEGER?(5);
???area????????????NUMBER?(14,?2);
???some_variable???NUMBER?(14,?2);
BEGIN
???radius?:=?0;
???LOOP
??????BEGIN
?????????radius?:=?radius?+?1;
?????????some_variable?:=?1?/?(radius?-?4);
?????????area?:=?pi?*?POWER?(radius,?2);
?????????INSERT?INTO?areas
??????????????VALUES?(radius,?area);
?????????EXIT?WHEN?area?>?100;
??????EXCEPTION
?????????WHEN?ZERO_DIVIDE
?????????THEN
????????????NULL;
??????END;
???END?LOOP;
???COMMIT;
EXCEPTION
???WHEN?OTHERS
???THEN
??????ROLLBACK;
??????RAISE;
END;
(
??RADIUS??NUMBER(5),
??AREA????NUMBER(14,2)
);
方法一:使用 goto
DECLARE???pi???CONSTANT?NUMBER?(9,?7)??:=?3.1415927;
???radius????????INTEGER?(5);
???area??????????NUMBER?(14,?2);
BEGIN
???radius?:=?0;
???LOOP
??????<<here>>
??????radius?:=?radius?+?1;
??????IF?radius?=?4
??????THEN
?????????GOTO?here;
??????ELSE
?????????area?:=?pi?*?POWER?(radius,?2);
?????????INSERT?INTO?areas
??????????????VALUES?(radius,?area);
?????????EXIT?WHEN?area?>?100;
??????END?IF;
???END?LOOP;
???COMMIT;
EXCEPTION
???WHEN?OTHERS
???THEN
??????ROLLBACK;
??????RAISE;
END;
?-- 方法二:使用 exception
--?利用系統?exceptionDECLARE
???pi?????CONSTANT?NUMBER?(9,?7)??:=?3.1415927;
???radius??????????INTEGER?(5);
???area????????????NUMBER?(14,?2);
???some_variable???NUMBER?(14,?2);
BEGIN
???radius?:=?0;
???LOOP
??????BEGIN
?????????radius?:=?radius?+?1;
?????????some_variable?:=?1?/?(radius?-?4);
?????????area?:=?pi?*?POWER?(radius,?2);
?????????INSERT?INTO?areas
??????????????VALUES?(radius,?area);
?????????EXIT?WHEN?area?>?100;
??????EXCEPTION
?????????WHEN?ZERO_DIVIDE
?????????THEN
????????????NULL;
??????END;
???END?LOOP;
???COMMIT;
EXCEPTION
???WHEN?OTHERS
???THEN
??????ROLLBACK;
??????RAISE;
END;
總結
以上是生活随笔為你收集整理的Oracle中实现continue的方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 教你玩4款最新族视频摄像头
- 下一篇: 项目测试经验交流