05« 1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.»07

かまたま日記

  // 

フットボールと声優好きの日記

スポンサーサイト 

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
スポンサー広告  /  tb: --  /  cm: --  /  △top

PLSQLをスマートに書こう 

現在会社でPLSQLを使った開発案件に参加しています。
初めての言語なので四苦八苦しながらプログラミングしているのでそこで考えたことを記録

<PLSQLではユーザー定義のレコード型をDB全体で共有できない?>
作成したパッケージの内容が肥大化してきたので細かい機能別にパッケージを分けようとしました。
そのときネックになったのが各処理同士のインターフェースである
ユーザー定義レコードを複数パッケージで共有できないことでした。

(例)
 以下のような処理で検索処理を外部パッケージに移植した際に、searchファンクションの戻り値のカーソルを
 外部パッケージと共有できませんでした。

  <イメージ>
  create or replace PKG_A is
   -- レコード定義
   type rec_type is record(
   rowA,
   rowB,
   …
   )
   -- カーソル定義
   type cur_type is ref cursor return rec_type;
  
   -- メイン処理
   procedure main is
   cur cur_type
   begin
    cur := search;
    write(cur);
   end;
  
   -- 検索処理、カーソルをオープンして返す
   function search return cur_type is
   …
   end;
  
   -- 書き込み処理、カーソルをまわしてファイルに書き込む
   procedure write(cur in cur_type) is
   …
   end;
  end;
  /


時間がなくなったので続きはまた明日書きます。
スポンサーサイト
技術的な  /  tb: 0  /  cm: 0  /  △top

この記事に対するコメント

△top

コメントの投稿

Secret

△top

トラックバック

トラックバックURL
→http://sin1t2.blog14.fc2.com/tb.php/507-35737f6f
この記事にトラックバックする(FC2ブログユーザー)

△top

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。