Oracle Forms 6i:如何从数据块手动将记录插入数据库

时间:2013-07-01 06:29:58

标签: oracle oracleforms

我有一个数据块'员工';我想在插入数据时手动生成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;

我无法理解为什么没有插入或保存数据。我的触发器好吗?

1 个答案:

答案 0 :(得分:1)

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

其次,你忘记了最后的提交。