- PR -

ストアドのパラメータについて

1
投稿者投稿内容
もんた
常連さん
会議室デビュー日: 2005/05/19
投稿数: 20
投稿日時: 2008-09-08 15:08
JAVAからORACLE9iのストアドを呼び出したいのですが、
パラメータの数が20個ぐらいあり、何かいい方法は何かと
思って投稿しました。

あと、ストアドのパラメータの個数を可変にすることは
可能でしょうか?

超基本的な質問ですいませんが、よろしくお願いします。
こあら
大ベテラン
会議室デビュー日: 2007/06/26
投稿数: 157
投稿日時: 2008-09-08 18:13
例えば引数をVARCHAR(2000)などの一項目で定義して、ストアド側にパーサーを実装するとか?
deanna
大ベテラン
会議室デビュー日: 2004/08/23
投稿数: 118
投稿日時: 2008-09-08 22:58
必要だからパラメタが20個あるんでしょ。
不要ならそんなにパラメタあるとは思えませんね。
必要なパラメタなら省略はできないでしょう。
その、ストアドプロシジャの設計の問題ですね。
ろでおぼーい
会議室デビュー日: 2008/08/22
投稿数: 5
投稿日時: 2008-09-09 08:30
ストアドのパラメータの個数を可変にしたいのは、用途によって渡す引数がかわるんですかね。
呼びたいストアドをcallするストアドを複数作って用途によって引数を替えれば良いと思います。
他には、VARCHAR2の一項目で引数を定義して、カンマ編集で渡した引数をストアド側で逆カンマ編集してあげるとか。
ひろ@ya
大ベテラン
会議室デビュー日: 2006/02/23
投稿数: 168
投稿日時: 2008-09-09 10:37
配列が使える物なら配列で渡す
カーニー
ぬし
会議室デビュー日: 2003/09/04
投稿数: 358
お住まい・勤務地: 東京
投稿日時: 2008-09-09 10:41
20個のパラメータを並べるのは、何が問題なんでしょうか?
単にコード書くのが面倒、ということなら、他の方法を考えるほうが面倒なので我慢して下さい、ってことになるんですが。

あと、PL/SQLは可変引数をサポートしていません。

引数受け渡し用のテーブルを使うという方法は考えられるかもしれません。
1レコード=1パラメータで。
ゴミが残らないように一時表を使うとか。
無名tiger
常連さん
会議室デビュー日: 2008/04/18
投稿数: 36
投稿日時: 2008-10-27 01:52
引用:

あと、ストアドのパラメータの個数を可変にすることは
可能でしょうか?



defaultを使えば、VBのoptionalと似ています。
ストアド プロシージャを呼び出す時パラメータ省略可能です。
_________________
カスタマイズ自由自在のスタートページ。
1

スキルアップ/キャリアアップ(JOB@IT)