微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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;

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐