ORACLE FormBuilder触发器执行顺序

1.当打开FORM时:

(1)PRE-FORM

(2)PRE-BLOCK(BLOCK级)

(3)WHEN-NEW-FORM-INSTANCE

(4)WHEN-NEW-BLOCK-INSTANCE

(5)WHEN-NEW-RECORD-INSTANCE

(6)WHEN-NEW-ITEM-INSTANCE

2.当填写一行记录完成后,光标移动到下一条记录的时候:

(1)WHEN-VALIDATE-RECORD (只将填写的记录与数据库中已存在的记录作唯一性的验证,如果只是页面上的数据重复而数据库中没有与其重复的值则不会报错.)

(2)WHEN-NEW-RECORD-INSTANCE

(3)WHEN-NEW-ITEM-INSTANCE

3.当点击“保存”时

(1)WHEN-VALIDATE-RECORD (将页面上的所有数据提交到数据库,若页面上有重复的数据,则提交第一次时成功但只是将数据先写到数据库中一类似临时表的地方,在提交第二条重复记录的时候报错,执行事务回滚,原来执行成功的指令也将被撤消)

(2)PRE-INSERT

(3)ON-INSERT

(4)POST-INSERT

(5)POST-FORMS-COMMIT

(6)PRE-BLOCK(BLOCK级)

(7)KEY-COMMIT

(8)WHEN-NEW-ITEM-INSTANCE

4.当光标移动到当前数据块中已经显示的行上时:

(1)WHEN-REMOVE-RECORD

(2)WHEN-NEW-RECORD-INSTANCE

(3)WHEN-NEW-ITEM-INSTANCE

当在该行上的不同ITEM移动时:

(4)WHEN-NEW-ITEM-INSTANCE

5.当要进行修改时(在记录中的某个项上进行了修改时):

(1)ON-LOCK

6.在修改完成后进行保存时:

(1)WHEN-VALIDATE-RECORD

(2)PRE-UPDATE

(3)ON-UPDATE

(4)POST-FORMS-COMMIT

(5)PRE-BLOCK(BLOCK级)

(6)KEY-COMMIT

(7)WHEN-NEW-ITEM-INSTANCE

7.删除一条记录时:

(1)ON-LOCK

(2)WHEN-REMOVE-RECORD

(3)KEY-DELREC

(4)WHEN-NEW-RECORD-INSTANCE

(5)WHEN-NEW-ITEM-INSTANCE

8.F11查询过程:

(1)WHEN-CLEAR-BLOCK

(2)WHEN-NEW-RECORD-INSTANCE

(3)WHEN-NEW-ITEM-INSTANCE

在输入查询条件后点CTRL+F11:

(4)PRE-QUERY

(5)WHEN-CLEAR-BLOCK

(6)POST-QUERY

(7)WHEN-NEW-RECORD-INSTANCE

(8)WHEN-NEW-ITEM-INSTANCE

9.CRRL+F11:

(1)WHEN-CLEAR-BLOCK

(2)PRE-QUERY

(3)WHEN-CLEAR-BLOCK

(4)POST-QUERY(每查一条记录,触发一次)

(5)WHEN-NEW-RECORD-INSTANCE

(6)WHEN-NEW-ITEM-INSTANCE

10.从查询状态(F11)转为输入状态(F4)时:

(1)WHEN-CLEAR-BLOCK

(2)KEY-EXIT

(3)WHEN-NEW-RECORD-INSTANCE

(4)WHEN-NEW-ITEM-INSTANCE

11.手电筒查询过程:

(1)QUERY_FIND(BLOCK级)

输入查询条件后,点击“查询”按钮:

(2)WHEN-CLEAR-BLOCK

(3)PRE-QUERY

(4)WHEN-CLEAR-BLOCK

(5)POST-QUERY

(6)WHEN-NEW-RECORD-INSTANCE

(7)WHEN-NEW-ITEM-INSTANCE

12.点击“New”时:

(1)WHEN-NEW-RECORD-INSTANCE

(2)WHEN-NEW-ITEM-INSTANCE

13.点击“EditField”时:

(1)KEY-EDIT

14.点击“WindowHelp”时:

(1)KEY-HELP

15.点击“ClearRecord”时:

(1)WHEN-REMOVE-RECORD

(2)POST-QUERY

(3)WHEN-NEW-RECORD-INSTANCE

(4)WHEN-NEW-ITEM-INSTANCE

16.点击F4关闭时:

(1)KEY-EXIT

(2)POST-FORM

17.点击“CloseForm”按钮关闭时:

(1)KEY-EXIT

(2)POST-FORM

18.点击“Translations”按钮时:

(1)TRANSLATIONS

19.点击小叉号关闭时:

(1)WHEN-WINDOW-CLOSED

(2)CLOSE-WINDOW

(3)KEY-EXIT

(4)POST-FORM

20.选中LOV列表:

(1)KEY-LISTVAL

(2)WHEN-NEW-ITEM-INSTANCE

21.选中记录前面的小条时:

(1)WHEN-NEW-RECORD-INSTANCE

(2)WHEN-NEW-ITEM-INSTANCE(数据项级)

(3)WHEN-NEW-ITEM-INSTANCE

22.光标上下移动时:

(1)WHEN-NEW-RECORD-INSTANCE

(2)WHEN-NEW-ITEM-INSTANCE

时间: 2024-10-08 09:37:13

ORACLE FormBuilder触发器执行顺序的相关文章

FORM触发器执行顺序

触发器执行顺序: 1. 当打开FORM时: (1) PRE-FORM (2) PRE-BLOCK(BLOCK级) (3) WHEN-NEW-FORM-INSTANCE (4) WHEN-NEW-BLOCK-INSTANCE (5) WHEN-NEW-RECORD-INSTANCE (6) WHEN-NEW-ITEM-INSTANCE 2. 当填写一行记录完成后,光标移动到下一条记录的时候: (1) WHEN-VALIDATE-RECORD (只将填写的记录与数据库中已存在的记录作唯一性的验证,如

oracle 各部分执行顺序

查询语句的执行顺序: 1.FROM 子句:执行顺序为从后往前.从右到左.数据量较少的表尽量放在后面. 2.WHERE子句:执行顺序为自下而上.从右到左.将能过滤掉最大数量记录的条件写在WHERE 子句的最右. 3.GROUP BY:执行顺序从左往右分组,最好在GROUP BY前使用WHERE将不需要的记录在GROUP BY之前过滤掉. 4.HAVING 子句:消耗资源.尽量避免使用,HAVING 会在检索出所有记录之后才对结果集进行过滤,需要排序等操作. 5.SELECT子句:少用*号,尽量取字

oracle查询语句执行顺序

完整的查询语句类似是这样的: select ..., ROWNUM from table where <where clause> group by <columns> having <having clause> order by <columns>; 它的处理顺序是: 首先,执行 FROM/WHERE 语句 为结果赋予 ROWNUM 并同时根据 FROM/WHERE 语句进行 rownum 过滤 执行 SELECT 执行 GROUP BY 执行 HAVI

触发器执行顺序

1.当打开FORM时: (1)PRE-FORM (2)PRE-BLOCK(BLOCK级) (3)WHEN-NEW-FORM-INSTANCE (4)WHEN-NEW-BLOCK-INSTANCE (5)WHEN-NEW-RECORD-INSTANCE (6)WHEN-NEW-ITEM-INSTANCE 2.当填写一行记录完成后,光标移动到下一条记录的时候: (1)WHEN-VALIDATE-RECORD (只将填写的记录与数据库中已存在的记录作唯一性的验证,如果只是页面上的数据重复而数据库中没有

Oracle EBS中有关Form的触发器的执行顺序

http://blog.csdn.net/postfxj/article/details/8135769 触发器执行顺序: 1.  当打开FORM时: (1)       PRE-FORM (2)       PRE-BLOCK(BLOCK级) (3)       WHEN-NEW-FORM-INSTANCE (4)       WHEN-NEW-BLOCK-INSTANCE (5)       WHEN-NEW-RECORD-INSTANCE (6)       WHEN-NEW-ITEM-I

【转】mysql触发器的实战(触发器执行失败,sql会回滚吗)

1   引言 Mysql的触发器和存储过程一样,都是嵌入到mysql的一段程序.触发器是mysql5新增的功能,目前线上凤巢系统.北斗系统以及哥伦布系统使用的数据库均是mysql5.0.45版本,很多程序比如fc-star管理端,sfrd(das),dorado都会用到触发器程序,实现对于数据库增.删.改引起事件的关联操作.本文介绍了触发器的类型和基本使用方法,讲述了触发器使用中容易产生的误区,从mysql源码中得到触发器执行顺序的结论,本文最后是实战遭遇的触发器经典案例.没有特殊说明时,本文的

Oracle一个事务中的Insert和Update执行顺序

今天碰到了一个奇怪的问题,是关于Oracle一个事务中的Insert和Update语句的执行顺序的问题. 首先详细说明下整个过程: 有三张表:A,B,C,Java代码中有一段代码是先在表A中插入一条数据,然后再更新表B的两个字段,更新的两个字段是特定值.并且插入和更新在一个事务中. 有个需求需要在表A添加一个Insert的行级触发器,在触发器里,插入表A一行记录后去表B查看更新的两个字段是否满足特定条件, 如果表B的两个字段同时等于特定值,则把表A和表B的数据整合下放到表C.触发器的初衷就是这样

Oracle中查询关键字select--from--where--group by--having--order by执行顺序

select--from--where--group by--having--order by 这6个查询关键字的执行顺序: 1.from组装来自不同数据源的数据:2.where基于指定的条件对记录行进行筛选:3.group by子句将数据划分为多个分组:4.使用聚集函数进行计算:5.使用having子句筛选分组:6.计算所有的表达式:7.select 集合输出:8.使用order by对结果集进行排序. 以下例子基于Oracle自带表空间hr 例子1:having和select的执行说明 情景

11. SQL -- 约束、Check、触发器的执行顺序

让我们看看约束. Check 和触发器在这个过程中的先后顺序,或许能加深些对事务的理解. CREATE TABLE TestTable ( ID         INT    CONSTRAINT PK_TestTable_id PRIMARY KEY, UniqueID   INT    UNIQUE, Number     INT    CHECK (Number >= 10 AND Number<=100), NonNULL    INT    NOT NULL ); CREATE TA