Oracle Form中COMMIT的概述及使用技巧_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;

时间: 2024-09-30 02:32:53

Oracle Form中COMMIT的概述及使用技巧_oracle的相关文章

Oracle数据库中建立索引的基本方法讲解_oracle

怎样建立最佳索引? 1.明确地创建索引 create index index_name on table_name(field_name) tablespace tablespace_name pctfree 5 initrans 2 maxtrans 255 storage ( minextents 1 maxextents 16382 pctincrease 0 ); 2.创建基于函数的索引 常用与UPPER.LOWER.TO_CHAR(date)等函数分类上,例: create index

解析如何查看Oracle数据库中某张表的字段个数_oracle

Oracle中查询某个表的总字段数,要用SQL语句,或者在PL/SQL里面 复制代码 代码如下: select count(column_name) from user_tab_columns where table_name='T_B_AUDITOR' 能够查出来指定的那张表的字段数.下面是通过大致查看:select   tname,count(*)   from   col   group   by   tname; 复制代码 代码如下: 64 T_A_BOOKSTAGEINFO 465 T

讲解Oracle数据库中结束死锁进程的一般方法_oracle

1.查看死锁1)用dba用户执行以下语句 select username,lockwait,status,machine,program from v$session where sid in (select session_id from v$locked_object) 如果有输出的结果,则说明有死锁,且能看到死锁的机器是哪一台.字段说明: Username:死锁语句所用的数据库用户: Lockwait:死锁的状态,如果有内容表示被死锁. Status: 状态,active表示被死锁 Mac

关于C#中DateTime常用方法概述_实用技巧

DateTime.Now.ToShortTimeString() DateTime dt = DateTime.Now; dt.ToString();//2005-11-5 13:21:25 dt.ToFileTime().ToString(); //127756416859912816 dt.ToFileTimeUtc().ToString();//127756704859912816 dt.ToLocalTime().ToString();//2005-11-5 21:21:25 dt.To

Oracle 9i中的一个闪回查询操作实例

在利用闪回功能前需要确认: 1.用户有对dbms_flashback包有执行权限! 2.进行闪回查询必须设置自动回滚段管理,在init.ora设置参数UNDO_MANAGEMENT=AUTO,参数UNDO_RETENTION=n,决定了能往前闪回的最大时间,值越大就需要越多Undo空间. Oracle 9i中闪回查询操作实例 查看Oracle中Delete和Commit操作的流程分析 例:Oracle 9i的Flashback Query操作. (1)创建闪回查询用户 SQL> create u

关于ORACLE数据库中汉字显示乱码

  1 引言 ORACLE数据库作为业界领先的数据库产品,近年来在国内大中型企业中得到了广泛的应用.虽然ORACLE数据库产品本身在本地化方面已做得相当成熟,但还是有不少用户反应汉字显示乱码的问题.如对同一数据库不同的用户对同一表中的username查询却得出了不同的结果: "ORACLE??????"和"ORACLE中国有限公司",显然结果中将中文字符显示为乱码,那么为什么呢?字符集的设置不当是影响ORACLE数据库汉字显示的关键问题. 2 关于字符集 字符集是O

一起ORACLE数据库中数据查询结果不一致问题的排查过程

一.问题描述 在某软件开发项目中,需要在ORACLE数据库中建立十张类型相同的员工信息表tb_employeeinfo0~tb_employeeinfo9,并建立向这十张表中插入数据的存储过程.ORACLE数据库安装在Linux操作系统下. 为了操作上的方便性,开发人员在PL/SQL Developer软件(ORACLE数据库开发软件)上实现了建表和建存储过程的操作.之后,开发人员利用SQL语句在在PL/SQL Developer软件上实现了向某个数据表中插入数据的操作.利用select语句查询

oracle数据库中的大对象2—— temporary lobs

              到目前为止,我们讨论的都是持久化到数据库中的lob数据,但是实际应用中,我们有时候并不需要将数据持久化到数据库中,那么就需要用到Temporary lob(临时lob),它就像局部变量一样,并不持久化到数据库中.我们将讨论temporary lob和用dbms_lob包来操作它们. Oracle 8i之后支持创建,解除,访问,更新Temporary lob通过oci(oracle call interface)和dbms_lob包.临时lob的生命周期是在创建它的se

Oracle数据库中对null值的排序及mull与空字符串的区别_oracle

order by排序之null值处理方法在对业务数据排序时候,发现有些字段的记录是null值,这时排序便出现了有违我们使用习惯的数据大小顺序问题.在Oracle中规定,在Order by排序时缺省认为null是最大值,所以如果是ASC升序则被排在最后,而DESC降序则排在最前.所以,为何分析数据的直观性方便性,我们需要对null的记录值进行相应处理. 这是四种oracle排序中NULL值处理的方法:1.使用nvl函数语法:Nvl(expr1, expr2)     若EXPR1是NULL,則返回