- PR -

PL/SQLにて難しい引数チェック

1
投稿者投稿内容
桐原
常連さん
会議室デビュー日: 2006/10/13
投稿数: 20
投稿日時: 2006-12-23 21:37
こんばんは!

引数はa,b,cの3つがあります。
a,b,cすべてがnullか0ならOK!
しかしa,b,cのどれか一つでもnull,0でないなら、
a,b,cすべてをnullか0以外に設定しなければならない。

という引数チェックをしたいのですが、どうすればよいのか迷っています。
どなたかご教授おねがいします。
ぶさいくろう
ぬし
会議室デビュー日: 2005/11/22
投稿数: 1232
お住まい・勤務地: 川崎市(は俺も含めてロクな人間が住んでないよw)
投稿日時: 2006-12-23 21:47
引用:

桐原さんの書き込み (2006-12-23 21:37) より:
こんばんは!

引数はa,b,cの3つがあります。
a,b,cすべてがnullか0ならOK!
しかしa,b,cのどれか一つでもnull,0でないなら、
a,b,cすべてをnullか0以外に設定しなければならない。

という引数チェックをしたいのですが、どうすればよいのか迷っています。
どなたかご教授おねがいします。


すべてnullか0かを見ればいいだけだろ。単純な条件式じゃね?
どのあたりが「難しい引数チェック」なんだ?
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2006-12-24 01:31
何で迷っているのかが今ひとつわかりませんね。

一つの変数が null か 0 という条件式は書けますか?
二つの変数共に null か 0 という条件式は書けますか?

追記:
ん?PL/SQL?
Javaじゃなくて?

[ メッセージ編集済み 編集者: インギ 編集日時 2006-12-24 02:30 ]
Gio
ぬし
会議室デビュー日: 2003/11/28
投稿数: 350
お住まい・勤務地: 都内から横浜の間に少量発生中
投稿日時: 2006-12-24 12:54
PL/SQLでお困りならばDatabase Expert 会議室に書き込まれた方がよろしいでしょうというのは置いといて。


  • 全部 null
  • 全部 0
  • 全部 null でも 0 でもない

場合のみ認めるのか

  • 全部 null もしくは 0
  • 全部 null でも 0 でもない

なのかは読み取れませんでしたが、Java で変数の型が全部 Integer だとして、一つの条件式で下請け関数なしに書こうとすると、難しくはないものの面倒な式にはなりますね。
(保守性が悪くなるので私なら分けます。)

PL/SQL で NULL と 0 を区別しなくて良いなら NVL 関数を使うと幸せになれるかも←ヒント

[ メッセージ編集済み 編集者: Gio 編集日時 2006-12-24 12:55 ]
桐原
常連さん
会議室デビュー日: 2006/10/13
投稿数: 20
投稿日時: 2006-12-25 15:34
IF 引数全てに何かが入っている
 IF 3つの引数の内、どれか一つでもNULL OR 0 THEN
   エラーを表示する


このように入れ子にすることで引数チェックをできました。
みなさん、どうもありがとうございました!
1

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