1

したがって、ユーザーIDを指定すると、最後の体重測定に基づいてbmi(ボディマス指数)を計算する関数があり(すべての測定値を記録するテーブルがあります)、ユーザーが体重を挿入するたびにトリガーをコーディングしたいと思います。トリガーは、ユーザーbmiが制限を下回っているかどうかをチェックします。関数は大丈夫ですが、トリガーを機能させることができません。これが私が持っているものです。

1  CREATE OR REPLACE
2  TRIGGER BMITG
3  AFTER INSERT ON WEIGHTS
4  BEGIN
5     IF BMI(USRID)>25
6     THEN raise_application_error(-20001,'Please control your weight.');
7     END IF;
8  END;

しかし、エラーが発生します:Error(6,3):PL / SQL:ステートメントが無視されましたError(6,10):PLS-00201:識別子'IDENT'を宣言する必要があります

問題は、USRIDがトリガーをアクティブにするINSERTのユーザーIDであることをデータベースが認識していないことだと思います。どうすればこの問題を解決できますか?ところで、テーブルWEIGHTSには、ユーザーID(数値)、日付、および重み(数値)があります。

よろしく

4

1 に答える 1

1

:new.idの代わりに使用USRIDして追加してみてくださいFOR EACH ROW

于 2013-01-30T18:44:40.713 に答える