0

ここには、1 つのテーブルを挿入または更新するときにトリガーされる sql パッケージがあります。これは(非常に単純化された)重要な部分です

IF ( UPDATING ) THEN
        IF ( V_OLD_DATE  != V_NEW_DATE ) THEN
                  ---- do stuff

そのため、V_OLD_DATE が満たされるたびに正常に動作しますが、V_OLD_DATE は NULL になる可能性があり、これはこのトリガーの結果を混乱させます。

この状況に対する「標準的な」解決策はありますか? 私にできる最善のことは、V_OLD_DATE の事前チェックです。

   IF ( UPDATING ) THEN
                IF ( (V_OLD_DATE is NULL and V_NEW_DATE is not NULL) OR 
                           V_OLD_DATE  != V_NEW_DATE ) THEN
                               ---- do stuff

ありがとうございました

4

1 に答える 1

0

Oracle では NVL を使用できます。詳細については、以下のリンクを参照してください。

https://forums.oracle.com/thread/2186954

于 2013-11-06T17:08:51.730 に答える