Trigger Execution Sequence in Oracle Forms

本文详细介绍了Oracle Forms 4.5中各种触发器的执行顺序,包括创建记录、查询执行及记录更新等常见操作下的触发器执行流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

p.s http://www.phpchina.com/78/viewspace_13811.html[@more@]

This document lists the order in which triggers fire in Oracle Forms 4.5:
o The first column, Action, describes the function to be performed
(e.g. deleting a record).
o The second column, Trigger Firing Order, describes the order
in which triggers fire after a function is performed.
o The third column, Level, describes the level (form, block, item)
at which the trigger fires. This was accomplished by creating a form
with all the triggers invoked. If a trigger could fire at all levels,
it was included at all levels. Such a trigger fires at the lowest level
at which it is defined.

Key triggers and triggers which fire via buttons or check boxes are
not included.

This bulletin does not cover every contingency and covers only the
most commonly used actions.

Action Trigger Firing Order Level
------ -------------------- -----
Runform 1. Pre-Logon Form
2. On-Logon Form
3. Post-Logon Form
4. Pre-Form Form
5. When-Create-Record Block
6. Pre-Block Block
7. Pre-Record Block
8. Pre-Text-Item Item
9. When-New-Form-Instance Form
10. When-New-Block-Instance Block
11. When-New-Record-Instance Block
12. When-New-Item-Instance Item

***********
Enter Query 1. Post-Text-Item Item
2. Post-Record Block
3. When-Clear-Block Block
4. When-New-Record-Instance Block
5. When-New-Item-Instance Item

Note: If you define the Key-ENTQRY trigger, this is the only trigger
which fires in an Enter Query situation.


*****************
Execute Query
After Enter Query 1. Pre-Query Block
2. Pre-Select Block
3. On-Select Block
4. When-Clear-Block Block
5. Post-Select Block
6. On-Fetch Block
7. On-Close Form
8. When-Clear-Block Block

Note: If you define the Key-EXEQRY trigger, this is the only trigger
which fires in an Execute Query situation.


*************
Execute Query
Without Enter
Query 1. Post-Text-Item Block
2. Pre-Query Block
3. Pre-Select Block
4. On-Select Block
5. Post-Select Block
6. On-Fetch Block
7. On-Close Form
8. When_Create_Record Block
9. Pre-Record Block
10. Pre-Text-Item Item
11. When-New-Record-Instance Block
12. When-New-Item-Instance Item


****
Exit 1. Post-Text-Item Item
2. Post-Record Block
3. Post-Block Block
4. Post-Form Form
5. On-Rollback Form
6. Pre-Logout Form
7. On-Logout Form
8. Post-Logout Form


**************
Next Field and
Previous field 1. When-New-Item-Instance Item


***************
Next Record and
Previous Record 1. When-New-Record-Instance Block
2. When-New-Item-Instance Item

**************
Next Block and
Previous Block 1. Post-Text-Item Item
2. Post-Record Block
3. Post-Block Block
4. When-Create-Record Block
5. Pre-Block Block
6. Pre-Record Block
7. Pre-Text-Item Block
8. When-New-Block-Instance Block
9. When-New-Record-Instance Block
10. When-New-Item-Instance Form


*******************
Records Are Queried 1. Post-Query Block
2. Post-Change Block
3. Post-Change Item
4. Post-Change Block
5. Post-Change Block
Go back to Post-Query

NOTE: This cycle is repeated for each record retrieved.


**********************
No Records Are Queried 1. When-New-Record-Instance Block
2. When-New-Item-Instance Item

NOTE: To observe this Trigger Firing Order:
a. Enter a query.
b. Enter a nonexistent record.
c. Execute the query.

The two triggers listed above, the Enter Query triggers, and
the Execute Query triggers fire.


*************
Create Record 1. Post-Change Block
2. When-Validate-Item Block
3. Post-Text-Item Block
4. When-Validate-Record Block
5. Post-Record Block
6. Post-Block Block
7. On-Savepoint Form
8. Pre-Commit Form
9. Pre-Insert Block
10. On-Insert Form
11. Post-Insert Block
12. Post-Forms-Commit Form
13. On-Commit Form
14. Post-Database-Commit Form
15. Pre-Block Block
16. Pre-Record Block
17. Pre-Text-Item Block
18. When-New-Item-Instance Form


*************
Update Record 1. When-Database-Record Block
2. Post-Change Block
3. When-Validate-Item Block
4. Post-Text-Item Block
5. When-Validate-Record Block
6. Post-Record Block
7. Post-Block Block
8. On-Savepoint Form
9. Pre-Commit Form
10. Pre-Update Block
11. On-Update Block
12. Post-Update Block
13. Post-Forms-Commit Form
14. On-Commit Form

Here the transaction is complete and one record added.

15. Post-Database-Commit Form
16. Pre-Text-Item Block
17. When-New-Item-Instance Form

NOTE: To observe this Trigger Firing Order:

a. Execute a query.
b. Change a value.
c. Choose Action->Save from the menu.
d. Record the triggers from that point.


*************
Delete Record 1. On-Lock Block
2. When-Remove-Record Block
3. Post-Change Block
4. Post-Change Block
5. Post-Change Block
6. Post-Change Block
7. Post-Change Block
8. Post-Change Block
9. Post-Change Item
10. Post-Query Block
11. Post-Text-Item Block
12. Post-Record Block
13. Pre-Record Block
14. Pre-Text-Item Block
15. When-New-Record-Instance Block
16. When-New-Item-Instance Form

NOTE: To observe this Trigger Firing Order, delete a detail record.

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10484922/viewspace-970081/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/10484922/viewspace-970081/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值