create table emplt(no number(10),name varchar(20),dno number(5),job varchar(20),sal number(10))
Table created.
insert into emplt values(1,'siva',5,'chairman',450030)
1 row(s) inserted.
insert into emplt values(2,'kumar',2,'udc',18500)
1 row(s) inserted.
insert into emplt values(3,'riya',3,'assistant',7800)
1 row(s) inserted.
insert into emplt values(4,'tim',2,'clerk',21000)
1 row(s) inserted.
insert into emplt values(5,'piya',2,'manager',38200)
1 row(s) inserted.
insert into emplt values(6,'zoa',8,'peon',1500)
1 row(s) inserted.
create table emprec(no number(10),sal number(10),upsaldate date)
Table created.
select * from emplt
NO | NAME | DNO | JOB | SAL | 1 | siva | 5 | chairman | 450030 | 2 | kumar | 2 | udc | 18500 | 3 | riya | 3 | assistant | 7800 | 4 | tim | 2 | clerk | 21000 | 5 | piya | 2 | manager | 38200 | 6 | zoa | 8 | peon | 1500 |
---|
select * from emplt
NO | NAME | DNO | JOB | SAL | 1 | siva | 5 | chairman | 450030 | 2 | kumar | 2 | udc | 18500 | 3 | riya | 3 | assistant | 7800 | 4 | tim | 2 | clerk | 21000 | 5 | piya | 2 | manager | 38200 | 6 | zoa | 8 | peon | 1500 |
---|
DECLARE
cursor c1 is select no,sal from emplt where dno=2;
e1 emplt.no%type;
e2 emplt.sal%type;
BEGIN
open c1;
if c1%isopen then
loop
fetch c1 into e1,e2;
exit when c1%notfound;
update emplt set sal=e2+(e2*0.05) where no=e1;
insert into emprec values(e1,e2+(e2*0.05),sysdate);
end loop;
end if;
commit;
close c1;
END;
1 row(s) updated.
select * from emprec
NO | SAL | UPSALDATE | 2 | 925 | 17-JAN-17 | 4 | 1050 | 17-JAN-17 | 5 | 1910 | 17-JAN-17 |
---|