0
があります。私はoracle apexでアプリケーションを作っていました。容量(cap
)が0
である場合、このトリガーは、passenger_id
が有効でないため、新しく挿入されたタプルを削除する必要があります。私はここで何をやったのですか?ここで容量(cap)が0の場合、このトリガーは新しく挿入されたタプルを削除します。私はここで何をやったのですか?ここにコード
あなたは、挿入する前にこれをやっているコード
create or replace trigger Ticket_katbo
before insert on passenger
for each row
declare
newcap number;
cap number;
flightpk number;
begin
flightpk := :new.flight_fid;
select flight_capacity into cap from flight where fid = flightpk;
if (cap>0) THEN
newcap := cap-1;
update flight set flight_capacity = newcap where fid = flightpk ;
ELSIF (cap=0 or cap = NULL) THEN
Delete from passenger where passenger_id = :new.passenger_id;
END IF;
end;
何が問題ですか? –
私はapexのページでバリデーションを作成し、トランザクションを発生させる代わりにエラーを表示して、これをデフォルトのトリガで捕捉することをお勧めします。それがバリデーションの目的です。 – Tom