Query to create table data to csv
1) create or replace directory MYCSV as '/home/oracle/mycsv';
Note: /home/oracle/mycsv has to be physical location on disk.
2) grant read, write on directory MYCSV to scott;
CREATE OR REPLACE DIRECTORY MYCSV AS 'C:\Users\PG\Desktop';
grant read, write on directory MYCSV to scott;
DECLARE
F UTL_FILE.FILE_TYPE;
CURSOR C1 IS SELECT EMPNO, ENAME, SAL, E.DEPTNO, DNAME FROM EMP E, DEPT D WHERE E.DEPTNO = D.DEPTNO ORDER BY EMPNO;
C1_R C1%ROWTYPE;
BEGIN
F := UTL_FILE.FOPEN('MYCSV','EMP_DEPT.CSV','w',32767);
FOR C1_R IN C1
LOOP
UTL_FILE.PUT(F,C1_R.EMPNO);
UTL_FILE.PUT(F,','||C1_R.ENAME);
UTL_FILE.PUT(F,','||C1_R.SAL);
UTL_FILE.PUT(F,','||C1_R.DEPTNO);
UTL_FILE.PUT(F,','||C1_R.DNAME);
UTL_FILE.NEW_LINE(F);
END LOOP;
UTL_FILE.FCLOSE(F);
END;
1) create or replace directory MYCSV as '/home/oracle/mycsv';
Note: /home/oracle/mycsv has to be physical location on disk.
2) grant read, write on directory MYCSV to scott;
CREATE OR REPLACE DIRECTORY MYCSV AS 'C:\Users\PG\Desktop';
grant read, write on directory MYCSV to scott;
DECLARE
F UTL_FILE.FILE_TYPE;
CURSOR C1 IS SELECT EMPNO, ENAME, SAL, E.DEPTNO, DNAME FROM EMP E, DEPT D WHERE E.DEPTNO = D.DEPTNO ORDER BY EMPNO;
C1_R C1%ROWTYPE;
BEGIN
F := UTL_FILE.FOPEN('MYCSV','EMP_DEPT.CSV','w',32767);
FOR C1_R IN C1
LOOP
UTL_FILE.PUT(F,C1_R.EMPNO);
UTL_FILE.PUT(F,','||C1_R.ENAME);
UTL_FILE.PUT(F,','||C1_R.SAL);
UTL_FILE.PUT(F,','||C1_R.DEPTNO);
UTL_FILE.PUT(F,','||C1_R.DNAME);
UTL_FILE.NEW_LINE(F);
END LOOP;
UTL_FILE.FCLOSE(F);
END;
No comments:
Post a Comment