0

データブロック「従業員」があります。データが挿入されるときに ID フィールドの値を手動で生成したい。そこで、表示キャンバスで ID フィールドを非表示にしました。したがって、ツールバーの保存ボタンをクリックしたいときは、通常、次のコードをKey-Commitトリガーに記述します。しかし、データはDBに保存されていません。

declare
    max_id employee.id%type;
begin
    select max(id)+1 into max_id from employee;
    message(max_id);
    if max_id is null then
        max_id := 1;
    end if;

    insert into employee values(max_id, :first_name, :last_name, :phone);
    IF Not Form_Success THEN            
            Message('Error prevented Commit');
            RAISE Form_Trigger_Failure;
    END IF;
end;

データが挿入または保存されなかった理由がわかりませんでした。私のトリガーは大丈夫ですか?

4

1 に答える 1