1. 파일이 생성 될 디렉토리 경로 설정을 해준다
CREATE DIRECTORY LOG_DIR AS 'C:\temp'; --LOG_DIR은 디렉토리 이름으로 자유롭게 지정
GRANT READ ON DIRECTORY LOG_DIR TO PUBLIC; --읽기권한부여
GRANT WRITE ON DIRECTORY LOG_DIR TO PUBLIC; --쓰기권한부여
2. 지정한 경로에 파일을 생성
CREATE OR REPLACE PROCEDURE PL_WriteFile(fname varchar2)
IS
v_output UTL_FILE.FILE_TYPE;
v_result VARCHAR2(4000);
CURSOR sql_cur IS
SELECT empno, ename, deptno
FROM emp;
BEGIN
v_output := UTL_FILE.FOPEN('LOG_DIR', fname, 'A');-- LOG_DIR의 경로에 fname이라는 이름의 파일생성
FOR v_cur IN sql_cur LOOP
v_result := v_cur.empno||' '||v_cur.ename||' '||v_cur.deptno;
UTL_FILE.PUT_LINE(v_output, v_result); --한줄마다 v_result 입력되는 파일이 생성 됨
END LOOP;
UTL_FILE.FCLOSE(v_output); --마지막으로 FCLOSE로 닫아주면 파일 생성 완료
EXCEPTION
WHEN UTL_FILE.INVALID_PATH THEN
DBMS_OUTPUT.PUT_LINE('INVALID PATH');
WHEN UTL_FILE.INVALID_MODE THEN
DBMS_OUTPUT.PUT_LINE('INVALID MODE');
WHEN UTL_FILE.INVALID_OPERATION THEN
DBMS_OUTPUT.PUT_LINE('INVALID OPERATION');
END;
/
'주절주절' 카테고리의 다른 글
세계 1인 GDP 순위 (0) | 2019.08.26 |
---|---|
[MSSQL] 문자를 숫자로 날짜로 형변환하기 (0) | 2018.12.13 |
티스토리 초대장 배포합니다(마감) (25) | 2016.06.13 |
오라클 테이블 락(LOCK) 조회 및 해제 방법 (0) | 2016.06.13 |
오라클 조건에 따른 값 출력 DECODE 함수 (0) | 2016.04.21 |