シンプルなトリガーを作成しましたが、いくつか問題があります。トリガーの実行中にデータが見つかりません。
CREATE OR REPLACE TRIGGER trigger_nb_ing
BEFORE INSERT ON RECETTE_INGREDIENT
FOR EACH ROW
DECLARE
cpt INT:=0;
BEGIN
SELECT COUNT(idIngredient) INTO cpt
FROM RECETTE_INGREDIENT
WHERE idRecette=:new.idRecette
GROUP BY idRecette;
IF (cpt>=20)
THEN RAISE_APPLICATION_ERROR(-20010, 'Trop d''ingrédients dans la recette');
END IF;
END;
/
ワーキング彼らは20の成分であるとき、私は1つの挿入を行う際に、しかし、ORA-04088と:トリガーも
の実行中にエラーが、私は私のデータを挿入するとき、私はトリガーをしようとしています、 'Recette_ingredient' 内の行ごと
ORA-01403: no data found
ORA-06512: at "gg.TRIGGER_NB_ING", line 4
ORA-04088: error during execution of trigger 'gg.TRIGGER_NB_ING''
:私はまた、メッセージを持っています。
あなたは
NO_DATA_FOUND問題を解決するために 'GROUP BY idRecette'節を削除してください。私はORA-04088がこのトリガーによって引き起こされたのではないかと疑いますが、この表には挿入や更新を行っている別のトリガーがあります。 – krokodilko
質問を編集し、エラーメッセージの全文を入力してください。 ORA-04088以外のメッセージはありますか?ありがとう。 –
私は 'Group By'を削除しましたが、今は挿入に問題があります。ありがとうございます。しかし、トリガーがトリガーされたときに私は常にメッセージORA-04088を持っています。 – BaaLa