要实现update,delete,insert
想建立一个存储过程,可以把这三个放到一个存储过程里面加入triger实现吗,如果可以triger要加在那部分呢?
请大家指点下,多谢

解决方案 »

  1.   

    --创建触发器 
    CREATE OR REPLACE TRIGGER test_trigger 
    AFTER DELETE OR INSERT OR UPDATE ON test 
    DECLARE 
    v_type test_log.l_type%TYPE; 
    BEGIN 
    IF INSERTING THEN --INSERT触发 
    INSERT ....ELSIF UPDATING THEN --UPDATE触发 
    update... ELSIF DELETING THEN --DELETE触发
    INSERT INTO ....
    END;
      

  2.   


    多谢你的解答,我还有个问题就是怎么对他们进行冲突处理呢?比如插入的时候不允许delete和update
      

  3.   


    oracle 自动有这个管理功能,在insert的时候,会有事务排它锁,在insert没有结束之前,锁不会释放,不能进行delete、update操作,所以你的担心是没有必要的。
      

  4.   

    那就是说我不用加入Raise_application_error(‘can not insert when updating or deleting”)之类的提示和处理异常的方法,对吗,直接进行删除或插入就可以对吗?