タグ

ブックマーク / www.shift-the-oracle.com (6)

  • 汎用 CSV 出力プロシージャ - オラクル・Oracle PL/SQL 入門

    USER_TABLES を ソートして CSV 化する例 その1 組み込んである GET_CSV 表関数 を使用して、SELECT 文だけで 1カラムの CSV を取り出す。(1レコード 4000 バイト以下) set pagesize 0 set linesize 300 select * from table(unload.get_csv(q'{select * from user_tables order by table_name}')); q'{〜}' を使用すると SQL 文内に自然な形で単一引用符(')を使える ⇒ 代替引用符 USER_TABLES を ソートして CSV 化する例 その2 組み込んである GET_CSV_CLOB 表関数 を使用して、SELECT 文だけで 1カラムの CSV を取り出す。(CLOB として抽出) set pagesize 0 set li

  • CSV 出力を10倍高速にする方法 - オラクル・Oracle PL/SQL 入門

    PARALLEL_EXECUTE パッケージ・モジュール ジョブを使用してマルチタスク処理させるためのフロント・モジュール このモジュールから UNLOAD のプロシージャを複数個、並列化して呼び出す。 仕様と制限 物理 ROWID を使用してデータの格納ブロックによってチャンク分割を行なっている。 論理 ROWID を使用する 索引構成表、外部表、および、ビュー などには使用できないため、別の分割方法を組み込んでカスタマイズする必要がある。NTILE 分析関数などは簡単なバケット分割方法であるがパフォーマンスを上げるひと工夫が必要だろう。 BIGFILE 表領域 に対してもソースの変更作業が必要となる(※2) DBMS_SCHEDULER 組み込みパッケージを使用しているため、Oracle 10g 以上の環境が必要。 ファイルの結合処理は含まれていない:ファイルを1つに結合したい場合には

  • SQL*Plus コマンド一覧 - オラクル・Oracle SQL*Plus リファレンス

    PL/SQL から SQL*Plus コマンド実行する PL/SQL を始めたばかりのときに良くある誤解であるが PL/SQL ブロック の内部から SQL*Plus コマンドは実行できない。 PL/SQL ブロックは「梱包されて」オラクルの体であるインスタンスに PL/SQL のテキスト文が送信されて実行される。 PL/SQL ブロック内では Java、JOB、外部プロシージャを経由することでサーバーのリソースにアクセスし、システムコマンドを実行することできるがクライアント側のユーザープロセス(SQL*Plus) に直接命令を伝達することができない。 できるのはインスタンスの実行結果の内容を表示したりバインド変数を経由したデータのやり取りすることである。 SQL*Plus 定数とシステム変数 SQL*Plus システム変数一覧 SQL*Plus 事前定義変数

    tack07
    tack07 2010/09/21
     reference
  • ストアドプロシージャ - オラクル・Oracle PL/SQL 入門

    ストアドプロシージャの定義と実行 ストアドプロシージャ(ファンクション)とは、Oracle データベースに格納(ストアド)されたプロシージャやファンクションのこと。 主に手続きのある処理を高速に処理するための手段である。 すべて(ストアド・パッケージも)をひっくるめて、単に ストアドプロシージャ (以下 ストアド・プロシージャ)と呼ばれている事も多い。 ストアド・プロシージャはクライアントとサーバーを繋ぐネットワークという遅い通信経路に SQL と結果が何度も行き交うような処理に対して非常に有効である。 一方、サーバーのシステム日付を取得するような手続きや繰り返しの無い処理には高速化の期待はできない (処理のカプセル化などという面では役に立つ)。 ストアド・プロシージャを機能別に分類しまとめたものを PL/SQL パッケージという。標準関数は SYS スキーマの STANDARD パッケー

  • UTL_FILE の使い方 (DIRECTORY 編) - オラクル・Oracleをマスターするための基本と仕組み

    UTL_FILE の使い方 (DIRECTORY 編) Top | Knowledge| DB構築| 文字列関数| 日付関数| 集計関数| SQL関数(アルファベット順) SQL(抽出・更新)| SQL*Plus| PL/SQL| Utility| Structure| スキーマ| チューニング| 用語| 参考書 UTL_FILE パッケージの使い方 (CREATE DIRECTORY 編) UTL_FILE パッケージによって PL/SQL でファイルの入出力を行うことができる。Oracle 9i 以降では CREATE DIRECTORY を使用すると ユーザ単位、読み込み、書き込みの制限が可能になる。 また、ディレクトリを追加したい場合にも Oracle の再起動が不要になるためダウンタイムを少なくすることができる。 UTL_FILE 準備作業 ディレクトリファイルの作成 (UTL_

  • TO_CHAR(日付) - オラクル・Oracle SQL 関数リファレンス

    日付のフォーマット使用例 DATE 型のデフォルトの書式は NLS_DATE_FORMAT でフォーマットされる。TIMESTAMP 型は NLS_TIMESTAMP_FORMAT。タイムゾーン付きの場合には NLS_TIMESTAMP_TZ_FORMAT によってフォーマットされる。 TO_CHAR( DATE '2005-06-07', 'RRMMDD') ⇒ '050607' 日付と時刻のフォーマット使用例 TO_CHAR ( TIMESTAMP '2000-01-02 04:05:06', 'YYYY/MM/DD HH24:MI:SS DAY') ⇒ 2000/01/02 04:05:06 日曜日 日付に関する豆知識 曜日を求める TO_CHAR 関数で曜日を取得することも可能(和名、または、英名) 曜日を取得するには 書式指定に 'DAY' を指定する。 日の曜日はすべて同じ長

    tack07
    tack07 2010/04/07
  • 1