Professional Documents
Culture Documents
com
Create a student database (rollno,name,tot_marks,trade). Write a PL/SQL program
to create student details for each trade adding an extra field ‘rank’ which
includes the ranking details of each student. Also print top 3 rankers.
declare
rno INT;
nam char(25);
tot number(10);
trd char(25);
rnk number(3);
mx number(10);
i number(4);
begin
open curr;
loop
if(curr%found) then
if trd='IT' then
Page | 1
dhanoopbhaskar@gmail.com
insert into IT values(rno,nam,tot,trd,rnk);
end if;
else
exit;
end if;
end loop;
commit;
close curr;
i:=1;
open ccs;
loop
if(ccs%found) then
i:=i+1;
else
exit;
end if;
end loop;
commit;
close ccs;
i:=1;
loop
if(cit%found) then
i:=i+1;
else
exit;
end if;
end loop;
commit;
close cit;
end;
----------------------------------------------------------------------------
1 Ammu 555 IT
2 Appu 556 IT
1 Tinto 585 CS
2 Tintumon 598 CS
3 Kuttoos 542 IT
3 Tuttu 562 CS
6 rows selected.
1 Ammu 555 IT 2
2 Appu 556 IT 1
3 Kuttoos 542 IT 3
------------------------------------------------------------------------------------------------------
1 Tinto 585 CS 2
2 Tintumon 598 CS 1
3 Tuttu 562 CS 3
BANK DATABASE
SQL> /
-------------------------------------------------------------
Page | 4
dhanoopbhaskar@gmail.com
102 Tintumon 19000
SQL> /
-------------------------------------------------------------------------------------
declare
no INT;
bal number(10);
trdate date;
dc char(7);
a number(10);
fl char(2);
open ctrn;
loop
if ctrn%found then
if dc='Debit' then
end if;
else
exit;
end if;
end loop;
commit;
close ctrn;
end;
SQL> /
---------------------------------------------------------------------
--------------------------------------------------------------------------------
HOSPITAL MANAGEMENT
>>>>>>>>>>>>>>>>>>>>CREATE TABLE<<<<<<<<<<<<<<<<<<<<
create table register(regno number(5) primary key,name char(15),age number(3),sex char(3) check(sex
in('M','F')),address char(20),date_reg date,category char(15) references doctors_details(specialization));
>>>>>>>>>>>>>>>>>>>>DOCTORS_DETAILS<<<<<<<<<<<<<<<<<<<<
SQL> /
>>>>>>>>>>>>>>>>>>>>PL/SQL BLOCK<<<<<<<<<<<<<<<<<<<<
declare
reg number(5);
dname char(15);
pname char(15);
cat char(15);
begin
reg:=®
end;
SQL> /
-------------------------------------------------------------------------------------------------------------------------------
>>>>>>>>>>>>>>>>>>>>QUERIES<<<<<<<<<<<<<<<<<<<<
declare
dname1 char(15);
Page | 9
dhanoopbhaskar@gmail.com
dname2 char(15);
dname char(15);
cat char(15);
mx number(3);
cnt number(3);
earn number(8,2);
mxern number(8,2);
f number(8,2);
begin
mx:=0;
mxern:=0;
dname1:='x';
dname2:='x';
open cur;
loop
if cur%found then
if cnt>mx then
mx:=cnt;
dname1:=dname;
end if;
earn:=f*cnt;
if earn>mxern then
Page | 10
dhanoopbhaskar@gmail.com
mxern:=earn;
dname2:=dname;
end if;
else
exit;
end if;
end loop;
commit;
close cur;
end;
declare
Page | 11
dhanoopbhaskar@gmail.com
bknam char(15);
auth char(15);
tot number(5);
id number(5);
no number(5);
i number(3);
begin
bknam:='&bknam';
auth:='&auth';
tot:=&tot;
for i in 1..tot
loop
id:=no+1;
else
id:=1;
end if;
end loop;
end;
--------------------------------------------------------------------------------------------------------------
DCD Mano 3 3
OS Silber 2 2
--------------------------------------------------------------
1 DCD
2 DCD
3 DCD
4 OS
5 OS
declare
nam char(15);
id number(5);
no number(5);
i number(3);
begin
nam:='&nam';
id:=no+1;
else
id:=1;
end if;
end;
SQL> /
--------------------------------------------------------------------------------------
1 Tintumon
2 Kuttoos
>>>>>>>>>>>>>>>>>>>>ISSUE A BOOK<<<<<<<<<<<<<<<<<<<<
declare
bknam char(15);
mid number(5);
bid number(5);
dat date;
Page | 14
dhanoopbhaskar@gmail.com
nam char(15);
n number(5);
begin
bknam:='&bknam';
select MIN(book_id) into bid from book_details where book_name=bknam and mem_id is null;
mid:=∣
if n is null then
n:=0;
end if;
end;
SQL> /
SQL>/
------------------------------------------------------------
1 DCD 2
2 DCD 1
3 DCD
4 OS 1
5 OS
-------------------------------------------------------------------------------------------------------------
DCD Mano 3 1
OS Silber 2 1
------------------------------------------------------------------------------------
1 Tintumon 2
2 Kuttoos 1
------------------------------------------------------------------------------
1 2 08-JAN-10 08-FEB-10
4 1 08-JAN-10 08-FEB-10
2 1 08-JAN-10 08-FEB-10
>>>>>>>>>>>>>>>>>>>>RETURN A BOOK<<<<<<<<<<<<<<<<<<<<
Page | 16
dhanoopbhaskar@gmail.com
declare
bknam char(15);
id number(5);
bid number(5);
tim number(7,2);
dat date;
begin
bknam:='&bknam';
id:=&id;
select book_id into bid from book_details where book_name=bknam and mem_id=id;
select return_date into dat from circulation_rec where book_id=bid and mem_id=id;
if tim>0 then
end if;
end;
-------------------------------------------------------------------------------------------------------------
DCD Mano 3 2
Page | 17
dhanoopbhaskar@gmail.com
OS Silber 2 1
-----------------------------------------------------------------------------------
1 Tintumon 1
2 Kuttoos 1
--------------------------------------------------------------
1 DCD 2
2 DCD
3 DCD
4 OS 1
5 OS
------------------------------------------------------------------------------
1 2 08-JAN-10 08-FEB-10
4 1 08-JAN-10 08-FEB-10
2 1 08-JAN-10 08-FEB-10
Page | 18
dhanoopbhaskar@gmail.com
create table waiting_list(slno number(3),customer_name char(15) primary key,train_name char(15)
references train_details(train_name));
declare
tname char(15);
tot number(3);
resv number(3);
begin
open cur;
loop
if cur%found then
for i in 1..tot
loop
end loop;
else
exit;
end if;
end loop;
commit;
close cur;
end;
Page | 19
dhanoopbhaskar@gmail.com
Enter value for total_seats: 3
SQL> /
--------------------------------------------------------------------------------------
AA 3 0
BB 2 0
-----------------------------------------------------------------------------------------
AA 1 n
AA 2 n
AA 3 n
BB 1 n
BB 2 n
5 rows selected.
>>>>>>>>>>>>>>>>>>>>RESERVE A SEAT<<<<<<<<<<<<<<<<<<<<
declare
cname char(15);
tname char(15);
tot number(3);
resv number(3);
Page | 20
dhanoopbhaskar@gmail.com
sid number(3);
sno number(3);
sl number(3);
begin
cname:=&cname;
tname:=&tname;
if tot>resv then
select MIN(seat_id) into sid from reservation_status where train_name=tname and reserved='n';
else
sl:=1;
else
sl:=sno+1;
end if;
end if;
end;
SQL> /
SQL> /
SQL> /
---------------------------------------------------------------------------------------
AA 1 y Tintumon
AA 2 n
AA 3 n
BB 1 y Kuttoos
BB 2 y Appu
5 rows selected.
--------------------------------------------------------------------------------
1 Tuttu BB
>>>>>>>>>>>>>>>>>>>>CANCEL A RESERVATION<<<<<<<<<<<<<<<<<<<<
Page | 22
dhanoopbhaskar@gmail.com
declare
cname char(15);
tname char(15);
sid number(3);
sno number(3);
sl number(3);
begin
cname:=&cname;
tname:=&tname;
select seat_id into sid from reservation_status where train_name=tname and customer_name=cname;
select customer_name into cname from waiting_list where train_name=tname and slno=sno;
else
end if;
end;
AA 1 y Tintumon
AA 2 n
AA 3 n
BB 1 y Kuttoos
BB 2 y Tuttu
5 rows selected.
----------------------------------------------------------------------------------
AA 3 1
BB 2 2
RECRUITMENT DATABASE
>>>>>>>>>>>>>>>>>>>>CREATE TABLE<<<<<<<<<<<<<<<<<<<<
>>>>>>>>>>>>>>>>>>>>PROCEDURE<<<<<<<<<<<<<<<<<<<<
Page | 24
dhanoopbhaskar@gmail.com
cname char(15);
no number(6);
r number(6);
cnt number(2);
begin
cname:='&cname';
if no is null then
r:=1;
else
r:=no+1;
end if;
if cnt=0 then
end if;
end;
Procedure created.
COMPANY_NAME SALARY
----------------------------------------------------
Wipro 25000
>>>>>>>>>>>>>>>>>>>>TRIGGER<<<<<<<<<<<<<<<<<<<<
Page | 25
dhanoopbhaskar@gmail.com
create or replace trigger trig after update on company_details for each row
declare
cnam char(15);
profit number(10,2);
intake number(4);
no_reg number(4);
no_appeared number(5);
sal number(10,2);
begin
if updating then
cnam:=:old.company_name;
sal:=:old.salary;
end if;
end;
Trigger created.
>>>>>>>>>>>>>>>>>>>>REGISTER<<<<<<<<<<<<<<<<<<<<
declare
pname char(15);
pcoll char(15);
pdgr char(10);
begin
Page | 26
dhanoopbhaskar@gmail.com
pname:='&pname';
pcoll:='&pcoll';
pdgr:='&pdgr';
insertreg(pname,pcoll,pdgr);
end;
SQL> /
SQL> /
-------------------------------------------------------------------------------------------------------
>>>>>>>>>>>>>>>>>>>>RESULT<<<<<<<<<<<<<<<<<<<<
1 row created.
SQL> /
1 row created.
SQL> /
1 row created.
----------------------------------------------
1 98
2 99
3 100
>>>>>>>>>>>>>>>>>>>>PL/SQL BLOCK<<<<<<<<<<<<<<<<<<<<
Page | 28
dhanoopbhaskar@gmail.com
declare
no_reg number(4);
cnam char(15);
intake number(4);
no_appeared number(5);
i number(3);
rno number(6);
mk number(5);
sel char(3);
mx number(5);
sal number(8);
nam char(15);
begin
cnam:='&cnam';
intake:=&intake;
open cur;
loop
if cur%found then
if i=intake then
exit;
end if;
else
exit;
end if;
end loop;
commit;
close cur;
dbms_output.put_line('Selected Candidates');
open cur;
loop
if cur%found then
if sel='Y' then
dbms_output.put_line(nam);
end if;
else
exit;
end if;
end loop;
commit;
close cur;
end;
Selected Candidates
Kuttoos
Tuttu
COMPANY_NAME AGENCY_PROFIT
------------------------------------------------------
Wipro 24650
COMPANY_NAME SALARY
---------------------------------------------------
Wipro 25000
------------------------------------------------------------------------------------------------------
-----------------------------------------------
1 98
2 99 Y
3 100 Y
Page | 31
dhanoopbhaskar@gmail.com
>>>>>>>>>>>>>>>>>>>>UNIVERSITY DATABASE<<<<<<<<<<<<<<<<<<<<<<
1 row created.
SQL> /
1 row created.
SQL> /
1 row created.
SQL> /
Page | 32
dhanoopbhaskar@gmail.com
Enter value for branch: EC
1 row created.
---------------------------------------------------------------
Kuttoos IT UCE
Tuttu CS VJC
Tintumon CS UCE
Ammu EC UCE
>>>>>>>>>>>>>>>>>>>>APPLICATION<<<<<<<<<<<<<<<<<<<<
declare
last_date date;
reg number(5);
no number(5);
rcs number(5);
rec number(5);
rit number(5);
sno number(5);
sname char(15);
brch char(7);
clg char(15);
dat number(7,2);
nam char(15);
begin
rcs:=1000;
rec:=1100;
Page | 33
dhanoopbhaskar@gmail.com
rit:=1200;
last_date:='07-JAN-10';
sno:=&sno;
sname:=&sname;
brch:=&brch;
clg:=&clg;
select student_name into nam from university where student_name=sname and branch=brch and
college=clg;
dbms_output.put_line('Application Rejected');
else
if no is null then
if brch='IT' then
reg:=rit;
reg:=rcs;
reg:=rec;
end if;
else
reg:=no+1;
end if;
Page | 34
dhanoopbhaskar@gmail.com
end if;
end;
SQL> /
SQL> /
------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------
Page | 36