首页 > 数据库技术 > 详细

oracle中for循环的使用

时间:2021-01-06 22:05:03      阅读:35      评论:0      收藏:0      [点我收藏+]

FOR循环(相当于i++)

CREATE OR REPLACE FUNCTION A_Test1(I_VAL VARCHAR2) RETURN VARCHAR2 is
     V_RESULT       VARCHAR2(500);
 BEGIN
     FOR I IN 1..5 LOOP
         V_RESULT:=V_RESULT||,||I;
     END LOOP;
     RETURN V_RESULT;
 EXCEPTION
     WHEN OTHERS THEN
          RETURN SQLCODE||SQLERRM;
 END A_Test1;

最终结果:,1,2,3,4,5

 

使用REVERSE倒过来循环(相当于i--)

CREATE OR REPLACE FUNCTION A_Test1(I_VAL VARCHAR2) RETURN VARCHAR2 is
     V_RESULT       VARCHAR2(500);
 BEGIN
     FOR I IN REVERSE 1..5 LOOP
         V_RESULT:=V_RESULT||,||I;
     END LOOP;
     RETURN V_RESULT;
 EXCEPTION
     WHEN OTHERS THEN
          RETURN SQLCODE||SQLERRM;
 END A_Test1;

最终结果:,5,4,3,2,1

 

使用CONTINUE跳过当前循环,进行下一次

CREATE OR REPLACE FUNCTION A_Test1(I_VAL VARCHAR2) RETURN VARCHAR2 is
     V_RESULT       VARCHAR2(500);
 BEGIN
     FOR I IN 1..5 LOOP
         IF I=3 THEN
            CONTINUE;
         END IF;
         V_RESULT:=V_RESULT||,||I;
     END LOOP;
     RETURN V_RESULT;
 EXCEPTION
     WHEN OTHERS THEN
          RETURN SQLCODE||SQLERRM;
 END A_Test1;

最终结果:,1,2,4,5

 

 

使用EXIT跳出循环(相当于break)

CREATE OR REPLACE FUNCTION A_Test1(I_VAL VARCHAR2) RETURN VARCHAR2 is
     V_RESULT       VARCHAR2(500);
 BEGIN
     FOR I IN 1..5 LOOP
         IF I=3 THEN
            EXIT;
         END IF;
         V_RESULT:=V_RESULT||,||I;
     END LOOP;
     RETURN V_RESULT;
 EXCEPTION
     WHEN OTHERS THEN
          RETURN SQLCODE||SQLERRM;
 END A_Test1;

最终结果:,1,2

 

 

当出现EXCEPTION不想做任何操作的时候,如果什么都不写,程序会报错。如果想什么都不做,直接写一个null就行了。

CREATE OR REPLACE FUNCTION A_Test1(I_VAL VARCHAR2) RETURN VARCHAR2 is
     V_RESULT       VARCHAR2(500);
 BEGIN
     BEGIN
         SELECT MARK_NO INTO V_RESULT FROM BP_MARK;
     EXCEPTION WHEN OTHERS THEN
         NULL;
     END;
 EXCEPTION
     WHEN OTHERS THEN
          RETURN SQLCODE||SQLERRM;
 END A_Test1;

 

oracle中for循环的使用

原文:https://www.cnblogs.com/masha2017/p/14243304.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!