<< 2006/09/05 | Home | 2006/09/07 >>
PR: 転職    転職    合宿免許    漫画    シルバー    ブライダルエステ    墓地・霊園    葬式   

Oracleのdualさん。

なんでダミー表がdualって名前なの?

PL/SQLでassertEquals()

  PROCEDURE assertEquals(expected NUMBER, val NUMBER) IS
  BEGIN
    if expected <> val then
      raise_application_error(-20001, TO_CHAR(expected) || 'の期待値に対し、実際は' || TO_CHAR(val) || 'でした。');
    end if;
  END assertEquals;

みたいなのを無邪気に書いていたのだけど、これってnullが暗黙変換で0に変換されてしまうので、assertEquals(0, null)みたいなのが通ってしまう。ちゃんとnullかどうか判定しないとだめだ。assertEquals(null, null)はどうすべきなのかな。

  if (expected is null) <> (val is null) or
     (expected <> val) then

3値論理的にはfailさせた方が安全なのだろうか?

このサイトの掲載内容は私自身の見解であり、必ずしもIBMの立場、戦略、意見を代表するものではありません。
日本アイ・ビー・エム 花井 志生 Since 1997.6.8