Professional Documents
Culture Documents
Untitled
Untitled
Untitled
create table emp(eno number(5)primary key,ename varchar2(10)not null,dob date not null,doj date not
null,deptno number(5)not null,bsal number(10,2)not null);
select*from emp;
ENO BASL
101 35000
102 28000
103 20000
104 25000
105 18000
MAX(BSAL)
35000
MIN(BSAL)
18000
AVG(BSAL)
25200
select sum (bsal) from emp;
SUM(BSAL)
126000
SUMFORDEPT10
88000
SUMFORDEPT20
38000
create table admi(adno number(10)primary key,sname varchar2(10)not null,dob date not null,fname
varchar2(10)not null,phno number(10),deg varchar2(10));
select*from admi;
select*from reg;
select*from mark;
REGNO SEM M1 M2 M3
2222001 I 98 97 93
2222002 I 90 80 78
2222003 I 82 59 70
2222004 I 52 67 73
2222005 I 99 45 61
select adno,regno,sname,dob,fname,phno,deg,deptname,yoj from admi inner join reg using(adno);
ADNO REGNO SNAME DOB FNAME PHNO DEG DEPTNAME YOJ
2220001 2222001 karthick 17-OCT- murugan 9500061134 bsc computer 09-JUN-
03 science 22
2220002 2222002 harish 09-FEB- muthu 9347893523 bsc mathematics 09-JUN-
02 22
2220003 2222003 balaji 08-JAN- gowtham 8965749098 bsc physics 09-JUN-
02 22
2220004 2222004 sathish 12-NOV- parthiban 8935984678 bsc biotech 09-JUN-
03 22
2220005 2222005 mani 19-JUN- vikram 6745900365 bsc chemistry 09-JUN-
02 22
select*from admi;
ADNO SNAME DOB FNAME PHNO DEG AADHARNO
2220001 karthick 17-OCT-03 murugan 9500061134 bsc 765271813488
2220002 harish 09-FEB-02 muthu 9347893523 bsc 905245513088
2220003 balaji 08-JAN-02 gowtham 8965749098 bsc 252181460009
2220004 sathish 12-NOV-03 parthiban 8935984678 bsc 900245909871
2220005 mani 19-JUN-02 vikram 6745900365 bsc 765487660081
select adno,sname,dob,fname,phno,deg,aadharno,regno,deptname,yoj,sem,m1,m2,m3,m1+m2+m3 as
total,(m1+m2+m3)/3 as avg from admi inner join reg using(adno) inner join mark using(regno);
ADNO SNAME DOB FNAME PHNO DEG AADHARNO REGNO
DEPTNAME YOJ SEM M1 M2 M3 TOTAL AVG
2220001 karthick 17-OCT-03 murugan 9500061134 Bsc 765271813488 2222001
computer 09-jun-22 I 98 97 93 288 96
science
2220002 harish 09-FEB-02 muthu 9347893523 Bsc 905245513088 2222002
mathematics 09-JUN-22 I 90 80 78 248 82.6666667
2220003 balaji 08-JAN-02 gowtham 8965749098 Bsc 252181460009 2222003
physics 09-JUN-22 I 82 59 70 211 70.3333333
2220004 sathish 12-NOV- parthiban 8935984678 Bsc 900245909871 2222004
biotech 09-JUN-22 03 52 67 73 192 64
I
2220005 mani 19-JUN-02 vikram 6745900365 Bsc 765487660081 2222005
chemistry 09-JUN-22 I 99 45 61 205 68.3333333
Ex.No:03 Demonstration of Views using employee paybill Details.
create table empp(eno number(5)primary key,ename varchar2(10)not null,dob date not null,dept
varchar2(15)not null,desig varchar2(15)not null);
select*from salx;
select*from salx;
select*from emppsal1;
ENO ENAME DOB DEPT DESIG BSAL DA TA
HRA EPF ESI
101 karthick 17-OCT-00 sales manager 65000 19500 6500
13000 7800 1137.5
102 harish 23-NOV-00 sales Asst 49000 14700 4900
9800 5880 857.5 manager
103 balaji 19-MAR-95 sales clerk 25000 7500 2500
5000 3000 537.5
104 sathish 21-APR-00 purchase manager 66000 19800 6600
13200 7920 1155
105 mani 08-SEP-99 purchase asst 38000 11400 3800
7600 4560 665 manager
106 santhosh 05-OCT-95 purchase clerk 26000 7800 2600
5200 3120 455
107 jayanath 20-DEC-97 sales poen 18000 5400 1800
3600 2160 315
108 divakar 17-MAR-98 purchase poen 18000 5400 1800
3600 2160 315
select*from emppsal2;
ENO ENAME DOB DEPT DESIG BSAL DA TA
HRA GP LOAN LIC EPF ESI TOTDE
101 karthick 17-OCT-00 sales manager 65000 19500 6500
13000 10400 0 1000 7800 1137.5 9937.5
102 harish 23-NOV-00 sales asst 49000 14700 4900
9800 78400 1000 1500 manager 857.5 9237.5
5880
103 Balaji 19-MAR-95 sales clerk 25000 7500 2500
5000 40000 1000 200 3000 537.5 4637.5
104 sathish 21-APR-00 purchase manager 66000 19800 6600
13200 105600 0 2000 7920 1155 11075
105 mani 08-SEP-99 purchase asst 38000 11400 3800
7600 60800 0 1000 manager 665 6225
4560
106 santhosh 05-OCT-95 purchase clerk 26000 7800 2600
5200 41600 0 0 3120 455 3575
107 jayanath 20-DEC-97 sales poen 18000 5400 1800
3600 28800 1000 200 2160 315 3675
108 divakar 17-MAR-98 purchase poen 18000 5400 1800
3600 28800 2000 0 2160 315 4475
create view emppsal3 as select emppsal2.eno,ename,dob,dept,desig,bsal,da,ta,hra,gp,loan,lic,epf,esi,totde,gp-
totde as ntpay from emppsal2;
select*from emppsal3;
ENO ENAME DOB DEPT DESIG BSAL DA TA
HRA GP LOAN LIC EPF ESI TOTDE NTPAY
101 karthick 17-OCT-00 sales manager 65000 19500 6500
13000 10400 0 1000 7800 1137.5 9937.5 94062.5
select*from emppsales1;
create table emp(eno number(5)primary key,ename varchar2(10)not null,dob date not null,bsal number(10,2));
select*from emp;
@emp.sql;
select*from empl;
execute myprocedure(103);
select*from empl;
ENO ENAME DEPT DESIG SAL
101 Karthick purchase manager 100000
102 Harish sales asst manager 80000
103 Balaji purchase clerk 30800
104 Sathish sales manager 102000
edit myfact.sql;
create or replace function fact(n in number) return number is
i number;
f number:=1;
begin
for i in 1..n
loop
f:=f*i;
end loop;
return(f);
end;
/
SQL> @myfact.sql
Function created.
FACT(5)
----------
120
Ex.No:07 Create emplog table using Triggers
select*from empp;
create or replace trigger mytrigger before update of sal on empp for each row
begin
insert into emplog values(:old.eno,:old.sal,:new.sal,user,sysdate);
end;
/
@emplog.sql;
Trigger created.
select*from emplog;
create table emp(eid number(5)primary key,ename varchar2(15)not null,dob date not null,doj date not
null,dept varchar2(15)not null,desig varchar2(15)not null,sal number(10,2));
select*from emp;
edit emp.sq;
set serveroutput on
declare
cursor empx is select*from emp;
myrowsystem.emp%rowtype;
begin
open empx;
dbms_output.put_line('-----------------------------------------------------------------------------------------');
dbms_output.put_line(' '||lpad('eid',11)||' '||lpad('ename',14)||' '||lpad('dob',14)||' '||lpad('doj',13)||'
'||lpad('dept',11)||' '||lpad('Desig',14)||' '||lpad('sal',7)||' ');
dbms_output.put_line('-----------------------------------------------------------------------------------------');
loop
fetch empx into myrow;
exit when empx%notfound;
dbms_output.put_line(' '||lpad(myrow.eid,11)||' '||lpad(myrow.ename,14)||' '||lpad(myrow.dob,14)||'
'||lpad(myrow.doj,13)||' '||lpad(myrow.dept,11)||' '||lpad(myrow.desig,14)||' '||lpad(myrow.sal,7)||' ');
end loop;
close empx;
end;
/
set serveroutput off
@emp.sql;
create table stud(regno number(5)primary key,sname varchar2(15)not null,dob date not null,m1
number(10,2)check(m1>=0 and m1<=100),m2 number(10,2)check(m2>=0 and m2<=100),m3
number(10,2)check(m3>=0 and m3<=100));
edit studmark.sql;
set serveroutput on
declare
total number(10,2);
average number(5,2);
result varchar2(10);
class varchar2(10);
cursor mark is select*from stud;
myrowsystem.stud%rowtype;
begin
open mark;
dbms_output.put_line('-----------------------------------------------------------------------------------------');
dbms_output.put_line(lpad('regno',5)||' '||lpad('sname',10)||' '||lpad('dob',13)||' '||lpad('m1',6)||'
'||lpad('m2',5)||' '||lpad('m3',6)||' '||lpad('total',8)||' '||lpad('average',6)||' '||lpad('result',6)||'
'||lpad('class',7));
dbms_output.put_line('-----------------------------------------------------------------------------------------');
loop
fetch mark into myrow;
exit when mark%notfound;
total:=myrow.m1+myrow.m2+myrow.m3;
average:=total/4;
if myrow.m1>35 and myrow.m2>35 and myrow.m3>35 then
result:='pass';
else
result:='fail';
end if;
if result='pass' then
if average>=60 then
class:='first';
elsif average>=50 then
class:='second';
elsif average>=35 then
class:='third';
end if;
else
class:='no';
end if;
dbms_output.put_line(lpad(myrow.regno,5)||' '||lpad(myrow.sname,15)||' '||lpad(myrow.dob,10)||'
'||lpad(myrow.m1,6)||' '||lpad(myrow.m2,6)||' '||lpad(myrow.m3,6)||' '||lpad(total,8)||' '||lpad(average,6)||'
'||lpad(result,5)||' '||lpad(class,7));
end loop;
close mark;
end;
/
set serveroutputoff
@studmark.sql;
select*from emp3;
ENO ENAME
101 karthick
102 harish
103 balaji
104 sathish
105 mani
edit mypackspe.sql;
ENO ENAME
101 muthu
102 harish
103 balaji
104 sathish
105 Mani
106 Raja