小白求助oracle触发器问题。
发布网友
发布时间:2024-02-23 04:32
我来回答
共2个回答
热心网友
时间:2024-11-20 13:20
用这个触发器,能达到你的要求,你的触发器有问题:
create or replace trigger trig_cancel_date
before insert or update on CP_VOUCHER
for each row
begin
:new.cancel_DATE:=:new.BANK_DATE;
end trig_cancel_date;
/
**********
测试log:
[TEST@ORA1] SQL>select * from CP_VOUCHER;
no rows selected
[TEST@ORA1] SQL>insert into CP_VOUCHER(VOU_NO,BANK_DATE) values('S_05210',to_date('2008-06-10','yyyy-mm-dd'));
1 row created.
[TEST@ORA1] SQL>select * from CP_VOUCHER;
BANK_DATE CANCEL_DATE VOU_NO
-------------- -------------- ----------
10-6月 -08 10-6月 -08 S_05210
[TEST@ORA1] SQL>update cp_voucher set BANK_DATE=to_date('2009-07-24','yyyy-mm-dd') WHERE VOU_NO='S_05210';
1 row updated.
[TEST@ORA1] SQL>select * from CP_VOUCHER;
BANK_DATE CANCEL_DATE VOU_NO
-------------- -------------- ----------
24-7月 -09 24-7月 -09 S_05210
---
以上,希望对你有所帮助。
热心网友
时间:2024-11-20 13:21
结尾end tr_cross1;去掉tr_cross1;只保留end;追问这个没影响的吧。去了还是错的