zoukankan      html  css  js  c++  java
  • 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;


  • 相关阅读:
    RGB空间与HSV空间的相互转换(C++实现,修正网上大多数的代码错误)
    SLIC superpixel实现分析
    开发自己PHP MVC框架(一)
    C++ 直方图匹配算法代码
    准确率与召回率
    Github干货系列:C++资源集合-
    ezw证件照芯片压缩算法
    格拉姆-施密特正交化
    [轉]sendpage漏洞分析 CVE-2009-2692
    ptrace
  • 原文地址:https://www.cnblogs.com/quanweiru/p/6220222.html
Copyright © 2011-2022 走看看