포스팅 목차
[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;
반응형
'SAS > SAS Tip's' 카테고리의 다른 글
[SAS] 그룹별 동일 항목으로 구성된 관측치 추출하기 (0) | 2022.12.28 |
---|---|
[IML] 관측치 행단위 기준으로 최빈값(Mode) 구하기 (1) | 2022.10.05 |
[데이터 결합] Data Step에서의 카테시안 곱(Cartesian product) 구현하기 (0) | 2021.11.16 |
[변수출력] 다양한 변수 리스트 출력 방식; (0) | 2021.11.15 |
[자원관리] 라이브러리에서 임시(TEMP) 데이터 세트 지우기 (0) | 2021.11.04 |
댓글