日期:2014-05-17  浏览次数:20769 次

oracle触发器怎么写,,在线等!!!!!!!!!
现在有一个表
A(id,col1,col2)
表B (id,col3)
函数 fun(参数id)


创建一个insert 一个update触发器

如果发生以上操作,执行语句 :    insert into 表B(id,col3) values(id,fun(参数id) )
------最佳解决方案--------------------

Create Or Replace Trigger test_trig
  After Insert Or Delete Or Update On A  For Each Row
Begin
  If Inserting Then
    Insert Into B Values (:new.id,'insert');
  Elsif Updating Then
    Insert Into B Values (:new.id,'update');
  Elsif Deleting Then
    Insert Into B Values (:new.id,'delete');
  End If;
End;




把相应的  后面那个字符串 替换成fun(id)就行了
------其他解决方案--------------------
我在sql server里面也发表相同的帖子了,,所以显示没结贴,,,,有答案马上结贴
------其他解决方案--------------------
你说的以上操作,不是很明确啊。
假如是,你在插入,更新,删除,A表的前提下,进行的话,下个方法试验一下。

Create Or Replace Trigger test
  After Insert Or Delete Or Update On A  For Each Row
Begin
  Insert Into B Values (:new.id,fun(:new.id));
End;

------其他解决方案--------------------
sql server