Answer Posted / ashwin
Hi all,
If a view is been created by using two base tables then
no manipulations will be done on the view in general when
you perform any dml operation on it.
But, when you apply instead of trigger on view created
from two base tables then you can perform any dml operation
on that view.
Example:- Following example illustrates how to achieve it
a view empdept is created using emp & dept tables in user scott
create or replace view empdeptview as
select e.ename ,e.empno,e.sal,e.deptno,d.loc
from emp e,dept d
where
e.deptno=d.deptno;
Then after creating view create trigger insteadtrg1 on view
empdeptview in following manner.
create or replace trigger insteadtrg1 instead of update on
empdeptview
referencing new as new
for each row
begin
update emp set
ename=:new.ename,
empno=:new.empno,
sal=:new.sal,
deptno=(select deptno from dept where loc=:new.loc)
where empno=:old.empno;
if(sql%rowcount=0)then
raise_application_error(-20001,'error updating view');
end if;
end;
-------------------------------------------------------
Now after trigger creation perform update operation on view
empdept in following manner.
update empdept set ename='laxman' where ename='ram';
result will be 1 row updated.
this updation would not have been possible if u dont use
instead of trigger.
| Is This Answer Correct ? | 7 Yes | 0 No |
Post New Answer View All Answers
what is the difference between a local and a global temporary table? : Sql dba
What is java sql driver?
What is spool?
What is the usage of the distinct keyword?
i have some prob lem to tell me about my self in interview first round ...
How can a function retun more than one value in oracle with proper example?
What is the difference between the conventional and direct path loads? : aql loader
what is the difference between cluster and non cluster index? : Sql dba
Define tables and fields in a database
what is primary key? : Sql dba
Which command is used to call a stored procedure?
What is the difference between database trigger and stored procedure?
What are the steps for performance tuning.
table structure: ---------------- col1 col2 ----- ----- 01-mar-2012 11:12:46 01-mar-2012 11:12:10 01-mar-2012 11:12:46 01-mar-2012 11:11:23 Write a query to display the result as shown below: col1 col2 ----- ----- 01-mar-2012 11:12:46 01-mar-2012 11:12:10
How to sort the rows in sql.