본문 바로가기

전체 글

(127)
[SAS] 소스파일 text infile하기 RSUBMIT; %MACRO TXT_INFILE(P_CORP, P_MODEL, P_FILE); DATA DT_RULE_&P_CORP._&P_MODEL; CORP = "&P_CORP"; MODEL = "&P_MODEL"; INFILE "&P_FILE"; LENGTH SCRIPT $1000.; INPUT SCRIPT 1-1000 @@; RUN; %ORA_TBL_UPLOAD(WORK.DT_RULE_&P_CORP._&P_MODEL); %MEND; ENDRSUBMIT; RSUBMIT; %TXT_INFILE(SC3, M09, C:\Documents and Settings\sassrv\My Documents\My SAS Files\9.2\DT_RULE\SC3_M09.TXT); ENDRSUBMIT;
[SAS] 오라클 UPLOAD 매크로 ************************* 공통매크로 설정(SERVER) ****************************/ /***** 오라클(SVOC) 컬럼에 COMMENT 추가하기 *****/ /***** 실행 예 : %ORA_COMMENT(테이블명, 컬럼명, COMMENT명); *****/ RSUBMIT; %MACRO ORA_COMMENT(P_TBL, P_COL, P_CMT); DATA _NULL_; P_CMT2 = "&P_CMT"; CALL SYMPUT('P_CMT2', "'"||COMPRESS("&P_CMT")||"'"); RUN; PROC SQL; CONNECT TO ORACLE(USER=USERID PASSWORD='PASSWORD' PATH=SID); EXECUTE ( COMMENT..
[SAS] proc format proc format; value $relation '01' = '조부' '02' = '조모' '03' = '부' '04' = '모' '05' = '배우자(여)' '06' = '배우자(남)' '07' = '형' '08' = '제' '09' = '자' '10' = '매' '11' = '아들' '12' = '딸' '13' = '손자' '14' = '손녀' '15' = '며느리' '16' = '삼촌' '17' = '사촌' '18' = '사촌이상친척' '19' = '사위' '20' = '장인' '21' = '장모' '22' = '시아버지' '23' = '시어머니' '24' = '사업자' '25' = '본인' '99' = '기타' ; run; data test; rcode = '01'; output; rcode ..
[SAS] hash를 이용한 row 병합 data goals; input player $ when & $9.; datalines; Hill 1st 01:24 Jones 1st 09:43 Santos 1st 12:45 Santos 2nd 00:42 Santos 2nd 03:46 Jones 2nd 11:15 ; data _null_; length goals_list $ 64; if _N_ = 1 then do; declare hash h(); h.defineKey('player'); h.defineData('player', 'goals_list'); h.defineDone(); end; set goals end=done; if h.find() ^= 0 then do; goals_list = when; h.add(); end; else do; goa..
[SAS] 오라클vs SAS 테이블 건수 비교 PROC SQL; CREATE TABLE TBL AS SELECT A.* FROM ( SELECT MEMNAME FROM DICTIONARY.TABLES WHERE LIBNAME = UPCASE("IR_ETL") ) AS A , ORA.TAB AS B WHERE A.MEMNAME = B.TNAME ; QUIT; DATA _NULL_; SET TBL END=EOF NOBS=CNT; CALL SYMPUT('MEMNAME'||LEFT(_N_), COMPRESS(MEMNAME)); IF EOF THEN CALL SYMPUT('CNT', COMPRESS(CNT)); RUN; OPTION MPRINT; %MACRO M1; PROC SQL; CREATE TABLE TBL_CHK AS SELECT A.* , CASE ..
[SAS] SAS options mprint options mprint; /* Macro Script Log창에 표시 */
[ORACLE] SEGMENT SHRINK 관련 10G 신규 기능 테이블 REORG 하기 ALTER TABLE TABLE_NAME ENABLE ROW MOVEMENT; ALTER TABLE TABLE_NAME SHRINK SPACE CASCADE; ALTER TABLE TABLE_NAME DISABLE ROW MOVEMENT; 1MB당 평균 약 2초의 REORG 시간 소요
[ORACLE] INSERT 시 APPEND 힌트 사용 주의... 한건의 로우(Row)를 Insert하는데 APPEND 힌트를 이용한 Direct Path Mode가 필요한지는 잘 모르겠습니다. 어쨌든 오라클은 11g부터 이러한 모드를 지원하기로 했습니다. 즉 INSERT ... VALUES ... 구문에서도 APPEND 힌트가 동작하도록 수정되었습니다. 좀 더 상세하게 정리를 해보면 Oracle 10g까지는 INSERT ... VALUES ... 구문에 APPEND 힌트를 부여해도 무시됩니다. 즉, APPEND 힌트는 INSERT ... SELECT 구문에서만 동작합니다. APPEND 힌트로 인해 Direct Path Mode로 동작하면 로우를 Insert할 때 현재 세그먼트의 Free Block을 무시하고(동시에 Buffer Cache를 경유하지 않고) 세그먼트의 ..

반응형