Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.misc -> Help: How to do the UPDATE Trigger?
Hello all,
I have 2 tables: DAILY and MONTHS
DAILY: Example of table DAILY: ------------------------------- ------------------------------------- ON_DATE CHAR(8) 19990301 A TYPE CHAR(1) 19990302 A 19990303 B ::::::::::::::: 19990331 D MONTHS: Example of table MONTHS: ------------------------------ ---------------------------------------- ON_YYMM CHAR(6) 199903 A A B ::::::::::::::::: D TYPE_01 CHAR(1) TYPE_02 CHAR(1) TYPE_03 CHAR(1) :::::::::::::::::: TYPE_31 CHAR(1)
I want to have a trigger:
If UPDATE DAILY ::::: where ON_DATE = '19990301' THEN
UPDATE MONTHS SET TYPE_01 = :new.type; If UPDATE DAILY ::::: where ON_DATE = '19990302' THEN
UDPATE MONTHS SET TYPE_02 = :new.type;
And so on...
If UPDATE DAILY ::::: where ON_DATE = '19990331' THEN
UDPATE MONTHS SET TYPE_31 = :new.type;
Now my trigger is :
CREATE TRIGGER TEST_UPD
BEFORE UPDATE ON DAILY FOR EACH ROW
DECLARE
tmp_date CHAR(2)
BEGIN
tmp_date := SUBSTR(:new.on_date,7,2); IF tmp_date = '01' THEN UPDATE MONTHS SET TYPE_01 = :new.type WHERE ...... ; END IF; IF tmp_date = '02' THEN UPDATE MONTHS SET TYPE_02 = :new.type WHERE ...... ; END IF; ::::::::::: IF tmp_date = '31' THEN UPDATE MONTHS SET TYPE_31 = :new.type WHERE ...... ; END IF;
Violin.
violin.hsiao_at_mail.pouchen.com.tw
Received on Tue Mar 30 1999 - 20:47:54 CST
![]() |
![]() |