Oracle中实现continue的方法.docVIP

  • 12
  • 0
  • 约1.5千字
  • 约 3页
  • 2017-06-08 发布于重庆
  • 举报
Oracle中实现continue的方法

Oraclepl/sql中实现continue的方法 CREATE TABLE AREAS 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 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 -- 利用系统 exception 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; -- 自定义 exception DECLARE pi CONSTANT NUMBER 9, 7 : 3.1415927; radius INTEGER 5 ; area NUMBER 14, 2 ; e_userdefinedexception EXCEPTION; PRAGMA EXCEPTION_INIT e_userdefinedexception, -1401 ; BEGIN radius : 0; LOOP radius : radius + 1; BEGIN IF radius 4 THEN RAISE e_userdefinedexception; ELSE area : pi * POWER radius, 2 ; INSERT INTO areas VALUES radius, area ; EXIT WHEN area 100; END IF; EXCEPTION WHEN e_userdefinedexception THEN NULL; END; END LOOP; COMMIT; EXCEPTION WHEN OTHERS THEN ROLLBACK; RAISE; END;

文档评论(0)

1亿VIP精品文档

相关文档