oracle存储过程里判断传进来变量是否为空

如下:

用:is null、is not null来判断处理
如下:
create procedure xxx(AAA in varchar2)
as
    begin
        if AAA is null then
            --sql
        else
            --sql
        end if;
    end  xxx;

其他判断的几个参考:


  SELECT COUNT(*)
  INTO V_V_COUNT
  FROM PROJ_REPORT_INFO
  WHERE PROJID = V_P_PROJID
  AND REPORTTYPE = 'FIRST_REPORT';

  IF (V_V_COUNT > 0) THEN
      SELECT REPORTID
      INTO V_REPORTID
      FROM PROJ_REPORT_INFO
      WHERE PROJID = V_P_PROJID
      AND REPORTTYPE = 'FIRST_REPORT';
  END IF;

nvl的使用参考:

NVL(X1,X2)  --//如果X1不为空,返回x1;否则返回X2;(如 : NVL(ename, 'null'))
  --查询是否关联企业,有值就显示原有的值,否则就是1,1代表是关联企业的,
  --用sum是为了如果没有值就显示为空,为空就赋值 为1
  SELECT nvl(sum(EXINFOVALUE),1)
  INTO   V_ISRELATEDTOCORPCOUNT
  FROM   PROJ_EXINFO
  WHERE  PROJID = V_PROJSERIALID_IN AND EXINFOCODE='isrelatedToCorp';

  --如果是自然人(2)且没有关联企业(0-否),只检测项目基本信息是否填写,其他都不用检测
  IF V_ISRELATEDTOCORPCOUNT = '0' AND  V_CUSTOMERTYPE = '2' THEN
      BEGIN
          IF V_APPLYMONEY > 0 AND V_LOANBANKID IS NOT NULL THEN
              BEGIN
                  V_RECODE_OUT := '1';
              END;
          ELSE
              BEGIN
                  V_RECODE_OUT := '-2';
              END;
          END IF;
      END;
  END IF;

END;

 

posted @ 2019-07-24 10:47  xh_Blog  阅读(12416)  评论(0编辑  收藏  举报