[pgsql-jp: 26274] Re: PL/pgSQLで宣言した定数を複数の関数で使い回したい

ISHIDA Akio iakio @ pjam.jpweb.net
2002年 6月 4日 (火) 17:08:07 JST


こんにちは。石田です。

On Sat, Jun 01, 2002 at 06:34:15PM +0900, 羽生 章洋 wrote:
> Jun Kitamura <kitamura @ zoozee.jp>さん:
> 
> レスありがとうございます。
> 
> > Oracle の CREATE PACKAGE を存じませんで恐縮なのですが、定数をひと
> つのテー
> > ブルにまとめてしまって、キーとなる文字列から該当する数値を取り出す
> 関数を
> > 用意すれば可能かな?と思います。ただし、型に応じて関数の数が増えち
> ゃいま
> > すが。条件式の中で使えるし、定数を一箇所にまとめておくことはできま
> すよね。
> 
> なるほど、ありがとうございます。そうですね。定数テーブルを
> 作るというのは良いですね。PL/pgSQLに限らずホスト言語全般で
> 共通して使えますし。是非参考にさせていただきます。
> 他にも方法をご存知の方いらっしゃいましたら、お教えください。

私も北村さんおっしゃる、定数をテーブルにまとめてしまう方法が
良いと思います。が、あえて他の方法をあげるなら、

create function const(text) returns integer as
  'select case when $1 = ''hoge'' then 1
               when $1 = ''foo'' then 2
  ...
                end' language 'sql'

みたくすると、いちおう一箇所にまとめられます。

# 釈迦に説法のような気もするんですが ^^;;

-- 
ISHIDA Akio




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