0

我有一个数据块“员工”;我想在插入数据时手动生成 ID 字段值。所以我在显示画布中隐藏了 ID 字段。因此,当我想单击工具栏中的保存按钮时,通常我会在Key-Commit触发器中编写以下代码。但是数据没有保存到数据库中。

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

1

首先,如果您只需要填写 max_id 那么您最好使用预插入触发器来填写该字段。并让 oracle 表单负责插入。

其次,您最后忘记了提交。

于 2013-07-01T17:47:12.043 回答