1) 列名リストを作成
郵便番号,都道府県名,市区町村名,町域名
2) エディタで "," を "||','||" に置換する
郵便番号||','||都道府県名||','||市区町村名||','||町域名
( または '"'||郵便番号||'","'||都道府県名||'","'||市区町村名||'","'||町域名||'"' )
3) 以下のようなファイルを作成(csv.sql)
-- ********************************************
-- 1行に表示する文字の最大数
-- 32767 は、SET LINESIZE と入力すると、
-- linesizeオプション 0が範囲(1から32767)外です。
-- と表示される
-- ********************************************
SET LINESIZE 32767
-- ********************************************
-- PAGESIZEを 0に設定すると、ヘッダー、
-- ページブレーク、タイトル、初期空白行
-- その他の書式設定情報をすべて非表示にできます
-- ********************************************
SET PAGESIZE 0
-- ********************************************
-- ONを指定すると、スプール行の終わりの空白
-- が削除--されます
-- ( コンソール表示とは無関係です )
-- ********************************************
SET TRIMSPOOL ON
-- ********************************************
-- レコード数表示や確認メッセージを
-- 非表示にします
-- ********************************************
SET FEEDBACK OFF
-- ********************************************
-- 出力を、画面に表示しません
-- ********************************************
SET TERMOUT OFF
-- ********************************************
-- 結果をファイルに格納します
-- ********************************************
SPOOL 郵便番号マスタ.csv
select 郵便番号||','||都道府県名||','||市区町村名||','||町域名
from 郵便番号マスタ
/
-- ********************************************
-- スプールを停止します
-- ********************************************
SPOOL OFF
-- ********************************************
-- SQL*Plus を終了します
-- ********************************************
EXIT
4) sqlplus の実行
sqlplus ユーザー/パスワード@//PC名/サービス名 @csv
※ @csv は、csv.sql を意味します
※ //PC名/サービス名 は、ローカルネットサービス名でもかまいません
※ //PC名/サービス名 は Express ですと、XE や //PC名/XE が使えると思います
C:\user\work\>sqlplus lightbox/password@//layla/XE @csv
SQL*Plus: Release 11.2.0.2.0 Production on 木 6月 12 02:11:38 2014
Copyright (c) 1982, 2010, Oracle. All rights reserved.
Oracle Database 11g Express Edition Release 11.2.0.2.0 - Production
に接続されました。
Oracle Database 11g Express Edition Release 11.2.0.2.0 - Productionとの接続が切断されました。
関連する Oracle ドキュメント
SQL*Plusユーザーズ・ガイドおよびリファレンス リリース11.2