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;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM