| 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
![]() |
![]() |