Oracle Form中COMMIT的概述及使用技巧

1. commit_form和commit

都对form和数据库进行提交。针对form上面的数据变动提交到后台数据库,同时数据库提交数据。

2. do_key(‘commit_form’)

它会首先执行key-commit触发器里面的代码,如果没有这个触发器,则会做commit_form一样的操作。

3. forms_dll(‘commit’)

只针对代码中insert、update、delete语句进行提交,form上面的数据不提交。

dg 里面提到:

replace commit with do_key(‘commit_form’), this routine raises the exception form_trigger_failure if there is an invalid record.

commit时触发器执行顺序:

(1).key-commit

(2).pre-commit

(3).pre/on/post delete

(4).pre/on/post update

(5).pre/on/post insert

(6).on-commit

(7).post database commit

4. quietcommit

oracle form “悄悄” 提交。如果使用commit_form的话会弹出信息提示”没有修改需要保存”或者”xxx记录已保存”。如果你不想提示出现,则可以调用函数

app_form.quietcommit。由于是一个function, 所以需要定义一个变量用来接收返回值, 返回值类型为boolean,当true的时候就说明成功, 否则commit失败。

将系统的消息级别改为较低级别也可调用如下过程:


复制代码 代码如下:

procedure docommit is

old_level varchar2(2);

begin

old_level := name_in(‘system.message_level’);

copy(‘5’, ‘system.message_level’);

commit;

copy(old_level, ‘system.message_level’);

end;

(0)
上一篇 2022年3月22日
下一篇 2022年3月22日

相关推荐