Why And When To Use Pre-Update and Pre-Insert Triggers In Oracle Forms

发布时间:2016-12-31 7:42:27编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"Why And When To Use Pre-Update and Pre-Insert Triggers In Oracle Forms ",主要涉及到Why And When To Use Pre-Update and Pre-Insert Triggers In Oracle Forms 方面的内容,对于Why And When To Use Pre-Update and Pre-Insert Triggers In Oracle Forms 感兴趣的同学可以参考一下。

Why And When To Use Pre-Update and Pre-Insert Triggers In Oracle Forms

Whenever we commit after entering data in Oracle Forms, many triggers fires during this event and also Pre-Update and Pre-Insert triggers fires just before inserting or updating the record into table. We can write Pre-Update and Pre-Insert triggers on particular block to just allow the process or to stop the process by using "Raise Form_Trigger_Failure" command, the following are the some examples:
 
Suppose you have a data block and there is a field which need to be validate just before inserting the record, then you must write the Pre-Insert trigger for this purpose, below is an example:
 
Declare
v_avl_qty number;
Begin
   Select avl_qty into v_avl_qty
     From stock_inhand
    Where Item_Code = :Block1.item_code;
if v_avl_qty < :Block1.qty_issued then
Raise Form_Trigger_Failure;
--- Execution stopped...
end if;
--- Else insertion will take place...
End;

And now I am giving you another example, suppose there is a field which need to be assigned from database just before the updation of the record, then you must write a Pre-Update trigger for this purpose, below is an example:

Declare
   v_value varchar2(10);
Begin
   Select a_value into v_value
     From a_table
    Where b_value = :Block1.b_value;
--- Assign this value to block item
:Block1.a_value := v_value;
--- you can assign any others value to any field just before updation or insertion like:
:Block1.create_date := Sysdate;
Exception
  when others then
     --- After any error or no data found you still want to continue then you can use only Null; statement
     Null;
     --- and any other value to any field you can still assign
:Block1.create_date := Sysdate;
End;



上一篇:使用Java开发高性能网站需要关注的那些事儿
下一篇:mysql 导入text 到数据库

相关文章

相关评论

本站评论功能暂时取消,后续此功能例行通知。

一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!

二、互相尊重,对自己的言论和行为负责。

好贷网好贷款