ict_note_stored_procedure_powergres


※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

ストアドプロシージャは DB に依存するため、対象 DB 製品が変更になるとプロシージャも書き直す必要があります。
それでもストアドプロシージャを使う理由は以下のように言われています。
・SQL 実行時の性能向上(←この効果が一番大きい)
・SQL 構文の外部ファイル化によるメンテ性の向上

言語は 2 種類あります。

■PL/pgSQL による開発
 ・PL/pgSQL という独自言語による実装が必要。
  →言語学習しながらになるので高度な実装は難しいかも
 ・独自データ型によるデータの受け渡しが可能。
 ・複数クエリーを返すことができない
  →カーソルを返して、呼び出し元で値を取り出す必要あり。
   (従来の実装に近くなるので、これは不便)

# 個人的な印象として開発効率はそれほど高くはなさそう...
# [sample]
# ・InsertTestTable.sql[sql本体]
# ・StoredProcedureTest.java[実行コード]

■PL/java による開発
 ・http://itpro.nikkeibp.co.jp/members/ITPro/oss/20040212/2/
 ・言語は java。
 ・複数クエリーも、独自データ型で返すことができそう。
 ・PowerGres Plus にもインストールできるかは現在確認中。

※別件:コネクションプーリングについて
 以下の方法にて実現しようと思います(要検証)
 http://www.postgresql.org/docs/7.4/static/jdbc-datasource.html