Exzilla.net
Contact
Home -> Articles -> Convert Data in Oracle Database to Text File Using SQL*Plus
 
Features
Forums
Files
Blogs
Convert Data in Oracle Database to Text File Using SQL*Plus
Mar 30, 2001
Cupid
Author's Bio | E-Mail
Copyright 2001 exzilla.net

ตัวอย่างการแปลงข้อมูล ใน Oracle Database มาเป็น text file ด้วย SQL *Plus

บทความนี้ เป็นตัวอย่างการแปลงข้อมูลที่มีอยู่ใน Oracle Database ให้เป็น text file โดยใช้ SQL *Plus ซึ่งมีขั้นตอนง่ายๆ ดังต่อไปนี้

1. ตรวจสอบรายชื่อ Column ของ Table ที่เราต้องการดึงข้อมูล ด้วย SQL *Plus

ก่อนอื่นเราต้อง Check ดูว่า Table ที่เราต้องการดึงข้อมูลออกมา มี Column ชื่ออะไรบ้าง และด้วย SQL *Plus เมื่อ Login เข้าไปได้แล้ว ให้ใช้คำสั่ง

SQL> desc <table_name>;

ผลลัพธ์ที่ได้จะเป็นรายชื่อ Column และ Datatype ดังตัวอย่างข้างล่างนี้

$ sqlplus scott/tiger@viper

SQL*Plus: Release 8.1.6.0.0 - Production on Sun Apr 29 05:44:58 2001

(c) Copyright 1999 Oracle Corporation. All rights reserved.

Connected to:

Oracle8i Enterprise Edition Release 8.1.6.0.0 - Production

With the Partitioning option

JServer Release 8.1.6.0.0 - Production

SQL>

SQL> desc 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)

2. เขียน SQL script file

เมื่อเราได้รายชื่อ Column ของ Table ที่ต้องการแล้ว ก็เริ่มเขียน Script file กัน ซึ่ง Script file นี้ จะประกอบไปด้วยส่วนต่างๆ ดังนี้

2.1 กำหนดค่า Parameter ที่จำเป็นต่างๆ ดังนี้

set heading off

set pagesize 0

set feedback off

set echo off

set termout off

set wrap off

2.2 กำหนดชื่อ Output file

spool /tmp/x01.txt

2.3 ใส่ SQL Statement เพื่อดึงข้อมูลที่เราต้องการ ซึ่งใน SQL Statement นี้ ต้องเชื่อม Column ด้วย '|' เพื่อเป็นตัวขั้นข้อมูลระหว่าง Column ทั้งนี้เราอาจใช้อักษรตัวอื่นก็ได้ แต่ควรเป็นอักษรที่ไม่ได้มีใช้กันโดยทั่วไป เพราะเดี๋ยวจะไม่รู้ว่า คำไหนเป็นข้อมูล คำไหนเป็นตัวขั้น ข้างล่างนี้เป็นตัวอย่าง SQL Statement สำหรับดึงข้อมูล

select EMPNO||'|'||

ENAME ||'|'||

JOB ||'|'||

MGR ||'|'||

to_char(HIREDATE,'DD-MON-YYYY') ||'|'||

SAL ||'|'||

COMM ||'|'||

DEPTNO

from emp;

2.4 จบการทำงานของ Script file ก็สั่งปิด Output file และ Exit ดังตัวอย่างข้างล่าง

spool off

exit

และเมื่อเสร็จขั้นตอนนี้ ให้ Save ตัว Script file เป็น .sql ซึ่งในตัวอย่างนี้ เรา save ไว้ชื่อ xData2text.sql

Download Script file ที่สมบูรณ์

3. เรียกใช้ SQL Script

เมื่อได้ Script file ดังข้างบนแล้ว เราสามารถเรียกใช้ได้โดย SQL *Plus ดังตัวอย่างต่อไปนี้

$ sqlplus scott/tiger@viper @xData2text.sql

4. ตัวอย่างข้อมูล

จากการเรียกใช้ Script file เราจะได้ผลลัพธ์เป็นข้อมูลใน Table โดยเก็บอยู่ใน Output file ชื่อ /tmp/x01.txt

และมีรายละเอียดของข้อมูลดังนี้

7876|ADAMS|CLERK|7788|12-JAN-1983|1100||20

7900|JAMES|CLERK|7698|03-DEC-1981|950||30

7902|FORD|ANALYST|7566|03-DEC-1981|3000||207876|ADAMS|CLERK|7788|12-JAN-1983|1100||20

7900|JAMES|CLERK|7698|03-DEC-1981|950||30

7902|FORD|ANALYST|7566|03-DEC-1981|3000||20

 

 
 
{exzilla.net -- e-development QuickStart --}



Copyright (c) 2001-2005 - Exzilla.net -  All Rights Reserved.
Contact Us | Privacy Policy | Terms & Conditions