The Shed is going Social! Join us on FaceBook and Twitter and chime in on the conversation.
|
 |
|
Dev Shed Forums
> Databases
> Oracle Development
|
Trigger insert, update, and delete
Discuss Trigger insert, update, and delete in the Oracle Development forum on Dev Shed. Trigger insert, update, and delete Oracle Development forum discussing administration, Oracle queries, and other Oracle-related topics. Oracle is known as one of the most robust multi-platform relational databases available.
|
|
 |
|
|
|
|

Dev Shed Forums Sponsor:
|
|
|

November 3rd, 2003, 12:43 PM
|
|
Junior Member
|
|
Join Date: Nov 2003
Posts: 4
Time spent in forums: < 1 sec
Reputation Power: 0
|
|
|
Trigger insert, update, and delete
Hi,
Can someone please help me. I am a newbie in Pl/sql.
I like to write a trigger to insert, update, and delete a row.
When row is inserted/updated/deleted in table1, the same action is also applied for table2.
Thanks
|

November 3rd, 2003, 01:34 PM
|
|
Senior Member
|
|
Join Date: Sep 2003
Location: Canada
Posts: 305
Time spent in forums: 2 h 45 m 20 sec
Reputation Power: 10
|
|
|
According to Oracle dicumentation "A trigger associates with A table".
Say with me again "A trigger associates with A table"
Regards,
|

November 6th, 2003, 06:58 PM
|
|
Junior Member
|
|
Join Date: Nov 2003
Posts: 4
Time spent in forums: < 1 sec
Reputation Power: 0
|
|
|
Trigger to insert/update/delete
shafique,
Yes, a trigger associates with table.
Here is the suituation:
If I insert data into table1, same data will be inserted into table2.
If I update data in table1, row with same primary key in table2 is also updated. Same for deleting.
Thanks
|

November 7th, 2003, 03:06 AM
|
 |
Modding: Oracle MsSQL Firebird
|
|
Join Date: Jun 2001
Location: Outside US
|
|
|
Why a view is not enough?
|

November 7th, 2003, 09:19 AM
|
|
Senior Member
|
|
Join Date: Sep 2003
Location: Canada
Posts: 305
Time spent in forums: 2 h 45 m 20 sec
Reputation Power: 10
|
|
Here is an example of world popular table 'EMP', I make another table 'EMP_TEMP' identical to EMP and now i want to update, insert and delete record from EMP_TEMP whenever an update, insert, and delete occured in emp. For this purpse i am creating a trigger called 'Emp_Ins_Upd_Del_Trig', complete list as follows.
CREATE or REPLACE TRIGGER Emp_Ins_Upd_Del_Trig
BEFORE delete or insert or update on EMP
FOR EACH ROW
BEGIN
if UPDATING then
UPDATE emp_temp
SET ename = :new.ename
, job = :new.job
, mgr = :new.mgr
, hiredate = :new.hiredate
, sal = :new.sal
, comm = :new.comm
, deptno = :new.deptno;
end if;
if INSERTING then
INSERT INTO emp_temp
VALUES( :new.empno
, :new.ename
, :new.job
, :new.mgr
, :new.hiredate
, :new.sal
, :new.comm
, :new.deptno);
end if;
if DELETING then
DELETE FROM emp_temp
WHERE empno =  ld.empno;
end if;
END;
/
You first must test it by inserting, deleting and updating rows on emp table, Once you satisfied then apply it in your program.
Another option that you have is CREATE MATERIALIZED VIEW for any base table. It is a different from normal view, in normal view oracle only saves the query of that view in dictionary so that whenever you run any select statement on the normal view oracle reads the query from data dictionary and extract the data from tables, views those are using in creation of view's query, But it is rverse in the Materialized view, oracle stores the data instead of storing query.
Oracle implicitly keeps Materialized view identical to the base table.
Regards,
|

November 7th, 2003, 10:03 AM
|
 |
Modding: Oracle MsSQL Firebird
|
|
Join Date: Jun 2001
Location: Outside US
|
|
|
Personally I don't think that a materialized view has advantages over a traditional view unless there are aggregations or complex calculations or many joins in the object's definition, so my advice is to use a traditional view if you just need a subset of a table or to join two/three tables.
|

November 24th, 2003, 04:33 PM
|
|
Junior Member
|
|
Join Date: Nov 2003
Posts: 4
Time spent in forums: < 1 sec
Reputation Power: 0
|
|
|
Thank you all.
Especially, thank to shafique. I got it now. It works as what I expected.
|
Developer Shed Advertisers and Affiliates
| Thread Tools |
Search this Thread |
|
|
|
| Display Modes |
Rate This Thread |
Linear Mode
|
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
|
|