본문 바로가기
SAS/SAS Tip's

[DB 로딩 에러 방지] 오라클 DB 건수 체크 후 데이터 로딩

by 기서무나구물 2021. 12. 3.

포스팅 목차

    [DB 로딩 에러 방지] 오라클 DB 건수 체크 후 데이터 로딩

     

    데이터 건수가 10건 이상인 경우 DB 데이터 Delete 작업 및 Proc Append 데이터 로딩 작업을 진행한다.

     

     

    * 로딩 대상 테이블 건수 체크 후 nobs 매크로 변수 생성;

     

    PROC SQL noprint;
      SELECT count(*) INTO : nobs3
      FROM  로딩SAS테이블명;
    QUIT;
    
    
    %put nobs=&nobs3;
    
    
    %macro BACK;
      %IF &NOBS3 > 10 %THEN %DO;
    
         PROC SQL;
    
           CONNECT TO ORACLE(USER="DB사용자계정" PASSWORD="DB패스워드" PATH="DB_PATH");
    
           %PUT &SQLXMSG;
    
                EXECUTE ( DELETE
    
                              FROM   DB테이블명
    
                            ) BY ORACLE;
    
                EXECUTE (COMMIT) BY ORACLE;
    
           %PUT &SQLXMSG;
    
           DISCONNECT FROM ORACLE;
    
         QUIT;
    
    
    
        libname REAL oracle USER="DB사용자계정" PASSWORD="DB패스워드" PATH="DB_PATH" ADJUST_BYTE_SEMANTIC_COLUMN_LENGTHS=NO DBCLIENT_MAX_BYTES=1 INSERTBUFF=150000;
    
        PROC APPEND BASE=REAL.DB테이블명 DATA = 로딩SAS테이블명   force;
        RUN;
    
    
      %END;
    %MEND;
    
    %BACK;

     

    반응형

    댓글