[pgsql-jp: 31537] Re: オラクルストアドからの移行

SAITO,Masataka gokenya3rdAtWork @ hotmail.com
2003年 11月 19日 (水) 21:44:34 JST


はじめまして。斉藤と申します。
僕も同じようにオラクルからPostgreSQLへの移行を考えています。
http://www.vembu.com/index.html
オラクルのプロシージャをPostgreSQLのそれへと返還してくれる
らしいのですが、まったく試してはいません。
もしよければ見てください。
使われたらその感想を・・・。
あつかましいですね。


----- Original Message ----- 
From: "BSI小尾" <n.obi @ bconsystems.co.jp>
To: <pgsql-jp @ ml.postgresql.jp>
Sent: Wednesday, November 19, 2003 8:33 PM
Subject: [pgsql-jp: 31531] オラクルストアドからの移行


>
> 始めまして、小尾と申します。
>
> 今回、仕事でオラクルからPostgreSQLの移行を検討することになりました。
> しかしオラクルにはストアドが沢山あります。(1000以上)
> 本数も問題ですが、オラクル独特の機能の為に移行が大変そうです。
> 簡単な方法を教えて頂けないでしょうか。
>
> 1.配列
>
> オラクル
> CREATE OR REPLACE PROCEDURE ○○○(
>
> CURSOR CSR_軸;
> CURSOR CSR_データA;
> CURSOR CSR_データB;
> WK_配列     CSR_軸%ROWTYPE;
> BEGIN
> OPEN CSR_データA
> LOOP
> FETCH CSR_データA INTO WK
> WK_配列 := WK;
> END LOOP
>
> OPEN CSR_データB
> LOOP
> FETCH CSR_データB INTO WK
> IF 存在したら
> WK_配列 := WK;
> ELSE
> WK_配列 := WK;
> END IF;
> END LOOP
> *CSR_データAとCSR_データBの取得データを配列に格納
>   (件数が100万件と100万件のテーブルの簡単なJOINではないの
> で、
>                                         レスポンスを考慮して配列のマッチン
グ
> 処理で対応しています。)
>
> FOR
> 配列に格納された値を処理後にテーブルに登録
> LOOP
> END;
>
> 上記のようにストアド内でデータを配列格納して編集しています。(ストアド内で
> 処理は完結しています。)
> このストアドを簡単に移行するにはどのように対応すれば宜しいのでしょうか。
> 移行ですので、TEMPに置き換えたり、Cで対応しては検証テストがかかり、移
> 行メリットが無くなってしまいます。
>
> 2.EXCEPTION
>
> オラクルのストアド内ではEXCEPTIONが使用可能です。
>
> EXCEPTION
> WHEN OTHERS THEN
> ログテーブルのエラー情報出力
> END;
>
> EXCEPTION処理はキーの重複やデータ無し以外の予期しない障害の為に記述され
> ています。
>                         処理上手の抜いて記述しているのではなく、テーブル領
域
> やメモリー等の問題で発生するエラー情報を
> 取得する為に全てのストアドに記述されています。
>
> このストアドを簡単に移行するにはどのように対応すれば宜しいのでしょうか。
>             障害が発生してからの対応時間を早くする為にあるので、無くすこと
は
> できません。
> また、修正が大変ですと移行メリットが無くなってしまうので、簡単な方法をおし
> ていただけないでしょうか。
>
> いろいろとわがままなことを記述しましたが、
> 宜しくお願いします。
>
>
>



pgsql-jp メーリングリストの案内