텍스트파일 생성 프로시저 관련 질문입니다. 0 1 994

by 하지말걸그랬어 [PL/SQL] [2018.05.24 13:46:32]


UTL_FILE.PUT_LINE 기능을 이용하여 텍스트 생성을 하고자 하는데요,

데이터의 숫자가 너무 많을 경우 시간이 매우 많이 걸리는 듯 합니다..

이 시간을 줄일 수 있는 방법이 어떤 게 있을까요?

 

지금은 아래와 같은 방법으로 루프를 돌려 건건이 집어넣고 있는데

이걸 배열과 같은 방법으로 처리가 가능할까요?

FORALL을 사용하려 하니, FORALL의 BODY가 DML구문이 아니라서 처리가 되지 않는 듯 했습니다..

 

BEGIN

    V_FILE := PARAM_NUM1 || '_' || PARAM_NUM2 || '.TXT';
   
    --텍스트 파일 생성
    V_OUTPUT := UTL_FILE.FOPEN('LOG_DIR', V_FILE, 'w');
     
      FOR V_CUR IN SQL_CUR LOOP
     
        V_RESULT := V_CUR.VAR_DATA;
        UTL_FILE.PUT_LINE(V_OUTPUT, V_RESULT);
       
      END LOOP;

    UTL_FILE.FCLOSE(V_OUTPUT);

END

by 아발란체 [2018.05.24 16:10:28]

전체적으로 쓰는 내용이 많지 않고 RAM이 좀 빠방하다면

루프돌며 append 하는 방식이 아닌

변수에다 담았다가 한번에 쓰는 것은 어떨까요?

= StringBuffet 효과

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입