Save sql query output to file and save as csv format

SQL> describe emp
Name Null? Type
----------------------------------------- -------- ----------------------------
EMPNO NOT NULL NUMBER(4)
ENAME VARCHAR2(10)
JOB VARCHAR2(9)
MGR NUMBER(4)
HIREDATE DATE
SAL NUMBER(7,2)
COMM NUMBER(7,2)
DEPTNO NUMBER(2)
SQL> select empno, ename, hiredate, sal from emp /* prepare sql query */
2
SQL> list /* save sql query */
1* select empno, ename, hiredate, sal from emp
SQL> spool on
SQL> spool c:\emp.txt /* spool destination (save file to destination)*/
SQL> run 1* /* run sql query */
1* select empno, ename, hiredate, sal from emp
EMPNO ENAME HIREDATE SAL
---------- ---------- --------- ----------
7369 SMITH 17-DEC-80 800
7499 ALLEN 20-FEB-81 1600
7521 WARD 22-FEB-81 1250
7566 JONES 02-APR-81 2975
7654 MARTIN 28-SEP-81 1250
7698 BLAKE 01-MAY-81 2850
7782 CLARK 09-JUN-81 2450
7788 SCOTT 19-APR-87 3000
7839 KING 17-NOV-81 5000
7844 TURNER 08-SEP-81 1500
7876 ADAMS 23-MAY-87 1100
EMPNO ENAME HIREDATE SAL
---------- ---------- --------- ----------
7900 JAMES 03-DEC-81 950
7902 FORD 03-DEC-81 3000
7934 MILLER 23-JAN-82 1300
14 rows selected.
SQL> spool off /*send query output to file and save */
SQL>
EXAMPLE 2:
SQL>
SQL> spool on
SQL> spool c:\emp2.txt
SQL> set heading off
SQL> set pagesize 25
SQL> run 1*
1* select empno, ename, hiredate, sal from emp
7369 SMITH 17-DEC-80 800
7499 ALLEN 20-FEB-81 1600
7521 WARD 22-FEB-81 1250
7566 JONES 02-APR-81 2975
7654 MARTIN 28-SEP-81 1250
7698 BLAKE 01-MAY-81 2850
7782 CLARK 09-JUN-81 2450
7788 SCOTT 19-APR-87 3000
7839 KING 17-NOV-81 5000
7844 TURNER 08-SEP-81 1500
7876 ADAMS 23-MAY-87 1100
7900 JAMES 03-DEC-81 950
7902 FORD 03-DEC-81 3000
7934 MILLER 23-JAN-82 1300
14 rows selected.
SQL> set feedback off /*Remove feedback (14 rows selected.) */
SQL> run 1*
1* select empno, ename, hiredate, sal from emp
7369 SMITH 17-DEC-80 800
7499 ALLEN 20-FEB-81 1600
7521 WARD 22-FEB-81 1250
7566 JONES 02-APR-81 2975
7654 MARTIN 28-SEP-81 1250
7698 BLAKE 01-MAY-81 2850
7782 CLARK 09-JUN-81 2450
7788 SCOTT 19-APR-87 3000
7839 KING 17-NOV-81 5000
7844 TURNER 08-SEP-81 1500
7876 ADAMS 23-MAY-87 1100
7900 JAMES 03-DEC-81 950
7902 FORD 03-DEC-81 3000
7934 MILLER 23-JAN-82 1300
SQL> spool off /*send query output to file and save */
SQL>
EXAMPLE 3:
GOAL; to save sql querty output in excell (csv) format.
SQL>
SQL> spool on
SQL> spool c:\emp3.txt
SQL> set heading off
SQL> set feedback off
SQL> set pagesize 25
SQL> set colsep ','
SQL> run 1*
1* select empno, ename, hiredate, sal from emp
7369,SMITH ,17-DEC-80, 800
7499,ALLEN ,20-FEB-81, 1600
7521,WARD ,22-FEB-81, 1250
7566,JONES ,02-APR-81, 2975
7654,MARTIN ,28-SEP-81, 1250
7698,BLAKE ,01-MAY-81, 2850
7782,CLARK ,09-JUN-81, 2450
7788,SCOTT ,19-APR-87, 3000
7839,KING ,17-NOV-81, 5000
7844,TURNER ,08-SEP-81, 1500
7876,ADAMS ,23-MAY-87, 1100
7900,JAMES ,03-DEC-81, 950
7902,FORD ,03-DEC-81, 3000
7934,MILLER ,23-JAN-82, 1300
SQL> spool off
SQL>
EXAMPLE4:
SQL>
SQL> spool on
SQL> spool c:\emp4.txt
SQL> set pagesize 25 heading off feedback off colsep ','
SQL> run 1*
1* select empno, ename, hiredate, sal from emp
7369,SMITH ,17-DEC-80, 800
7499,ALLEN ,20-FEB-81, 1600
7521,WARD ,22-FEB-81, 1250
7566,JONES ,02-APR-81, 2975
7654,MARTIN ,28-SEP-81, 1250
7698,BLAKE ,01-MAY-81, 2850
7782,CLARK ,09-JUN-81, 2450
7788,SCOTT ,19-APR-87, 3000
7839,KING ,17-NOV-81, 5000
7844,TURNER ,08-SEP-81, 1500
7876,ADAMS ,23-MAY-87, 1100
7900,JAMES ,03-DEC-81, 950
7902,FORD ,03-DEC-81, 3000
7934,MILLER ,23-JAN-82, 1300
SQL> spool off
SQL>

EXAMPLE 5:
SQL>
SQL> spool on
SQL> spool c:\emp5.csv
SQL> set pagesize 25 heading off feedback off colsep ','
/* or can use
SQL> set pagesize 0 heading off feedback off colsep ','
*/
SQL> run 1*
1* select empno, ename, hiredate, sal from emp
7369,SMITH ,17-DEC-80, 800
7499,ALLEN ,20-FEB-81, 1600
7521,WARD ,22-FEB-81, 1250
7566,JONES ,02-APR-81, 2975
7654,MARTIN ,28-SEP-81, 1250
7698,BLAKE ,01-MAY-81, 2850
7782,CLARK ,09-JUN-81, 2450
7788,SCOTT ,19-APR-87, 3000
7839,KING ,17-NOV-81, 5000
7844,TURNER ,08-SEP-81, 1500
7876,ADAMS ,23-MAY-87, 1100
7900,JAMES ,03-DEC-81, 950
7902,FORD ,03-DEC-81, 3000
7934,MILLER ,23-JAN-82, 1300
SQL> spool off
SQL>

SPOOL, mean Simultaneous Peripheral Operation On Line
- sql_command's blog
- Add new comment
- 10705 reads

thanks
well explained.. thank
This seems to be very easy
This seems to be very easy and I think I am going to use it too.