服务器之家

服务器之家 > 正文

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

时间:2019-11-20 16:58     来源/作者:Oracle教程网

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; 

标签:

相关文章

热门资讯

玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-09-17
配置IIS网站web服务器的安全策略配置解决方案
配置IIS网站web服务器的安全策略配置解决方案 2019-05-23
Nginx服务器究竟是怎么执行PHP项目
Nginx服务器究竟是怎么执行PHP项目 2019-05-24
运维必须知道的关于云服务器的十个问题
运维必须知道的关于云服务器的十个问题 2019-05-24
返回顶部