PL/SQLでHTMLの複数選択を処理する

文:Rex Baldazo 翻訳校正:石橋啓一郎
2008-01-25 08:00:00
  • このエントリーをはてなブックマークに追加

 HTMLでOracleのPL/SQLの複数選択を扱うのは、私の好みより少し複雑だ。ユーザーが複数選択でいくつの項目を選ぶかによって、単純なVARCHAR2オブジェクトと特別な配列オブジェクトのどちらが戻り値が決まることになる。これは、2つの場合を扱う、異なる2つのメソッドを書かなくてはならないということだ。

 ここでは、次のような複数選択を含むHTMLのフォームがあるとしよう。


 このフォームはPOSTではなくGETを使っていると仮定しよう。ユーザーが項目の1つを選ぶと、クエリー文字列には、次のようなものが追加される。

?p_org_id=AV001

 もしユーザーが項目を2つ選ぶと、クエリー文字列は次のようになる。

?p_org_id=AV001&p_org_id=AV002

 最初のインスタンスでは、PL/SQLはp_org_idと呼ばれるVARCHAR2を処理するメソッドを探す。ユーザーが複数選択で何も選ばなかった場合のために、p_org_id変数のデフォルト値をヌルに設定してある。このメソッドは次のようになる。

procedure process_form(p_org_id VARCHAR2 default null);
  • 新着記事
  • 特集
  • ブログ