ตัวอย่างการแปลงข้อมูล
ใน Oracle Database มาเป็น text file ด้วย SQL *Plus
บทความนี้
เป็นตัวอย่างการแปลงข้อมูลที่มีอยู่ใน Oracle Database ให้เป็น text
file โดยใช้ SQL *Plus ซึ่งมีขั้นตอนง่ายๆ ดังต่อไปนี้
1.
ตรวจสอบรายชื่อ Column ของ Table ที่เราต้องการดึงข้อมูล ด้วย SQL
*Plus
ก่อนอื่นเราต้อง
Check ดูว่า Table ที่เราต้องการดึงข้อมูลออกมา มี Column ชื่ออะไรบ้าง
และด้วย SQL *Plus เมื่อ Login เข้าไปได้แล้ว ให้ใช้คำสั่ง
ผลลัพธ์ที่ได้จะเป็นรายชื่อ
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
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 ดังตัวอย่างข้างล่าง
และเมื่อเสร็จขั้นตอนนี้
ให้ 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 |
|