首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PL SQL IF-THEN-ELSE块

PL SQL IF-THEN-ELSE块
EN

Stack Overflow用户
提问于 2012-10-24 03:19:40
回答 1查看 3.6K关注 0票数 0

我的sql中嵌入了这段代码。由于某些原因,每次执行最后一个ELSE代码时,我都会看到这一点。下面是我的代码:

代码语言:javascript
复制
 IF REGEXP_LIKE (UPPER(V_TEMP_DEPT_1),
        'DEP|DPT$|ABT|DIP.|DIPART|AFDEL|AVDEL|AVD.|DIV|PGRD|PGP|PPG|FAC|AMU|LAB|WING|
          UNIT|SERV|AFT|CENT|CLIN|KLIN|ETHICS COM|EC|IRB') THEN
              V_DEPT_N    := V_TEMP_DEPT_1;
              V_ADDR_LINE1:= NULL;
      ELSE

      IF REGEXP_LIKE (UPPER(V_TEMP_DEPT_2),
      'DEP|DPT$|ABT|DIP.|DIPART|AFDEL|AVDEL|AVD.|DIV|PGRD|PGP|PPG|FAC|AMU|LAB|WING|
        UNIT|SERV|AFT|CENT|CLIN|KLIN|ETHICS COM|EC|IRB') THEN
            V_DEPT_N    := V_TEMP_DEPT_2;
            V_ADDR_LINE2:= NULL;
                    ELSE

      IF REGEXP_LIKE (UPPER(V_TEMP_DEPT_3),
          'DEP|DPT$|ABT|DIP.|DIPART|AFDEL|AVDEL|AVD.|DIV|PGRD|PGP|PPG|FAC|AMU|LAB|WING|
            UNIT|SERV|AFT|CENT|CLIN|KLIN|ETHICS COM|EC|IRB') THEN
              V_DEPT_N    := V_TEMP_DEPT_3;
              V_ADDR_LINE3:= NULL;
      ELSE

      IF REGEXP_LIKE (UPPER(V_TEMP_DEPT_4),
          'DEP|DPT$|ABT|DIP.|DIPART|AFDEL|AVDEL|AVD.|DIV|PGRD|PGP|PPG|FAC|AMU|LAB|WING|
            UNIT|SERV|AFT|CENT|CLIN|KLIN|ETHICS COM|EC|IRB') THEN
              V_DEPT_N    := V_TEMP_DEPT_4;
              V_ADDR_LINE4:= NULL;
      ELSE
              -- The below line always gets executed.
              V_DEPT_N:= NULL;

      END IF;
        END IF;
          END IF;
            END IF;

你知道我做错了什么吗?

EN

回答 1

Stack Overflow用户

发布于 2012-10-24 04:11:22

代码语言:javascript
复制
IF REGEXP_LIKE (UPPER(V_TEMP_DEPT_1),
    'DEP|DPT$|ABT|DIP.|DIPART|AFDEL|AVDEL|AVD.|DIV|PGRD|PGP|PPG|FAC|AMU|LAB|WING|
      UNIT|SERV|AFT|CENT|CLIN|KLIN|ETHICS COM|EC|IRB') THEN
          V_DEPT_N    := V_TEMP_DEPT_1;
          V_ADDR_LINE1:= NULL;

  ELSIF REGEXP_LIKE (UPPER(V_TEMP_DEPT_2),
  'DEP|DPT$|ABT|DIP.|DIPART|AFDEL|AVDEL|AVD.|DIV|PGRD|PGP|PPG|FAC|AMU|LAB|WING|
    UNIT|SERV|AFT|CENT|CLIN|KLIN|ETHICS COM|EC|IRB') THEN
        V_DEPT_N    := V_TEMP_DEPT_2;
        V_ADDR_LINE2:= NULL;

  ELSIF REGEXP_LIKE (UPPER(V_TEMP_DEPT_3),
      'DEP|DPT$|ABT|DIP.|DIPART|AFDEL|AVDEL|AVD.|DIV|PGRD|PGP|PPG|FAC|AMU|LAB|WING|
        UNIT|SERV|AFT|CENT|CLIN|KLIN|ETHICS COM|EC|IRB') THEN
          V_DEPT_N    := V_TEMP_DEPT_3;
          V_ADDR_LINE3:= NULL;

  ELSIF REGEXP_LIKE (UPPER(V_TEMP_DEPT_4),
      'DEP|DPT$|ABT|DIP.|DIPART|AFDEL|AVDEL|AVD.|DIV|PGRD|PGP|PPG|FAC|AMU|LAB|WING|
        UNIT|SERV|AFT|CENT|CLIN|KLIN|ETHICS COM|EC|IRB') THEN
          V_DEPT_N    := V_TEMP_DEPT_4;
          V_ADDR_LINE4:= NULL;
  ELSE
          -- Now this works!!
          V_DEPT_N:= NULL;

  END IF;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13037622

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档