before insert 这个事件中的new,old分别是什么呢?、 还有before update ,before delete,after 等等这些?
:new 和 :old是针对触发器中的行级触发来说的, create or replace trigger trig_name after update on tablea for each row begin insert into tableb(id,logtext1,logtext2) values(1,:old.name:new.name); ... end;更新tablea表中的记录时系统将在tableb中记录信息. 将tabla中被更新行的原name字段的值和更新后的新name字段的值记录到表tableb中. (只是举例)
--更正,少了一逗号/ insert into tableb(id,logtext1,logtext2) values(1,:old.name,:new.name);
其它不多說了,就給個例子給你吧.create or replace trigger CCC_limit_Shop_Order before insert --or update of PRIORITY_CATEGORY,PROCESS_TYPE on shop_ord_tab for each rowbegin /* Create by haiying.xian for Maggie.chen .2004/06/16 當DOP令單發行時對應工單的優序分類自動=8700,處理類型=PDL. */
if inserting then if :new.rowstate ='Planned' and :new.demand_code='DOP' then :new.PRIORITY_CATEGORY :='8700'; :new.PROCESS_TYPE :='PDL';
--Modify by haiying.xian for Maggie.chen .2004/06/28 --把工單位排程方向改成順排程(F) --set 最早開始日=開始日 --set 需求日=完成日
还有before update ,before delete,after 等等这些?
create or replace trigger trig_name
after update on tablea
for each row
begin
insert into tableb(id,logtext1,logtext2) values(1,:old.name:new.name);
...
end;更新tablea表中的记录时系统将在tableb中记录信息. 将tabla中被更新行的原name字段的值和更新后的新name字段的值记录到表tableb中. (只是举例)
insert into tableb(id,logtext1,logtext2) values(1,:old.name,:new.name);
before insert --or update of PRIORITY_CATEGORY,PROCESS_TYPE
on shop_ord_tab for each rowbegin
/*
Create by haiying.xian for Maggie.chen .2004/06/16
當DOP令單發行時對應工單的優序分類自動=8700,處理類型=PDL.
*/
if inserting then
if :new.rowstate ='Planned' and :new.demand_code='DOP' then
:new.PRIORITY_CATEGORY :='8700';
:new.PROCESS_TYPE :='PDL';
--Modify by haiying.xian for Maggie.chen .2004/06/28
--把工單位排程方向改成順排程(F)
--set 最早開始日=開始日
--set 需求日=完成日
:new.SCHED_DIRECTION :='F';
--:new.EARLIEST_START_DATE := :new.REVISED_START_DATE;
-- :new.NEED_DATE := :new.REVISED_DUE_DATE;
end if;
end if ;
end;