1

主キーとして使用されるシーケンスから値を取得するためにいくつかのトリガーを使用する Oracle 10 DB を使用しています。これらのトリガーの 1 つが無効になっていますが、テーブル内のレコードが有効な主キーで正常に挿入されているため、まだ起動しているようです。

そんなことがあるものか?この「挿入前」トリガーが無効になっているにもかかわらず、まだ機能しているのはなぜですか?

4

1 に答える 1

2

トリガーは、挿入ステートメントがPK値を提供しない場合(PKがnull)にのみ、シーケンスを呼び出してPK値を取得すると思います。挿入を行うアプリケーションは、おそらくシーケンスを呼び出し、PKの値を提供します。

PK値がnullのレコードをテーブルに挿入することで、自分でテストできるかもしれません。エラーが発生した場合、トリガーは無効になります。

于 2012-06-13T09:18:08.900 に答える