DBMS PRACTIALS
1.basic loop
set serveroutput on
declare
a number(3);
begin
a:=1;
dbms_output.put_line('--------------');
loop
dbms_output.put_line(a||' Today is Wonderfull Day');
exit when a>10;
a:=a+1;
end loop;
dbms_output.put_line('--------------');
end;
/
2. switch case
set serveroutput on
declare
a number(3);
begin
a:=&a;
dbms_output.put_line('--------------');
case a
when 1 then dbms_output.put_line(' Today is Monday ');
when 2 then dbms_output.put_line(' Today is Tuesday');
when 3 then dbms_output.put_line(' Today is Wednesday');
when 4 then dbms_output.put_line(' Today is Thursday ');
when 5 then dbms_output.put_line(' Today is friday ');
when 6 then dbms_output.put_line(' Today is Saturday ');
when 7 then dbms_output.put_line(' Today is Sunday ');
else
dbms_output.put_line(' Plese Enter value between 1 to 7 ');
end case;
dbms_output.put_line('--------------');
end;
/
3. exception 1
set serveroutput on
declare
a number(3);
1
b number(3);
d number(3);
begin
a:=&a;
b:=&b;
d:=a/b;
dbms_output.put_line('----------------');
dbms_output.put_line('Division is:: '||d);
dbms_output.put_line('----------------');
EXCEPTION
when zero_divide then
dbms_output.put_line(b||' Enter Non Zero Values:: ');
when others then
dbms_output.put_line(' Unknown Error ');
end;
/
4. exception 2
set serveroutput on
declare
i student.id%type;
n student.name%type;
a student.adr%type;
begin
i:=&i;
select name,adr into n,a from student where id=i;
dbms_output.put_line('----------------');
dbms_output.put_line('Id:'||i||' Name:'||n||' Adr:'||a);
dbms_output.put_line('----------------');
EXCEPTION
when no_data_found then
dbms_output.put_line(' Data Not Available ');
when too_many_rows then
dbms_output.put_line(' Lot of Data ');
when others then
dbms_output.put_line(' Unknown Error ');
end;
/
5. exception 3
set serveroutput on
declare
i student.id%type;
n student.name%type;
a student.adr%type;
invalid exception;
2
begin
i:=&i;
if(i<=0) then
raise invalid;
end if;
select name,adr into n,a from student where id=i;
dbms_output.put_line('----------------');
dbms_output.put_line('Id:'||i||' Name:'||n||' Adr:'||a);
dbms_output.put_line('----------------');
EXCEPTION
when invalid then
dbms_output.put_line('Id value must be greater than zero');
when others then
dbms_output.put_line(' Unknown Error ');
end;
/
6.exception 4
set serveroutput on
declare
b number(7);
insufficient exception;
begin
b:=&b;
if(b<500)then
raise insufficient;
end if;
dbms_output.put_line('----------------');
dbms_output.put_line('You can Withdraw Money');
dbms_output.put_line('----------------');
EXCEPTION
when insufficient then
dbms_output.put_line('Insufficient Balance');
when others then
dbms_output.put_line('Unknown Error');
end;
/
7.explicite cursor
set serveroutput on
declare
cursor c is select * from student;
r student%rowtype;
begin
open c;
dbms_output.put_line('----------------');
3
loop
fetch c into r;
dbms_output.put_line(r.id||' '||r.name||' '||r.adr);
exit when c%notfound;
end loop;
dbms_output.put_line('No of Rows ::'||c%rowcount);
close c;
dbms_output.put_line('----------------');
end;
/
8. explicite cursor
set serveroutput on
declare
cursor c(a varchar2) is select * from student where adr=a;
r student%rowtype;
begin
open c('&a');
dbms_output.put_line('----------------');
loop
fetch c into r;
dbms_output.put_line(r.id||' '||r.name||' '||r.adr);
exit when c%notfound;
end loop;
dbms_output.put_line('No of Rows ::'||c%rowcount);
close c;
dbms_output.put_line('----------------');
end;
/
9. explicite cursor
set serveroutput on
declare
r student%rowtype;
cursor c is select * from student;
begin
dbms_output.put_line('--------------');
open c;
loop
fetch c into r;
dbms_output.put_line(r.id||' '||r.name||' '||r.adr);
exit when c%notfound;
end loop;
close c;
dbms_output.put_line('--------------');
end;
4
10. explicite cursor 1
set serveroutput on
declare
cursor c is select * from student;
r student%rowtype;
begin
open c;
dbms_output.put_line('----------------');
loop
fetch c into r;
dbms_output.put_line(r.id||' '||r.name||' '||r.adr);
exit when c%notfound;
end loop;
dbms_output.put_line('No of Rows ::'||c%rowcount);
close c;
dbms_output.put_line('----------------');
end;
/
11 . explicite cursor 2
set serveroutput on
declare
r student%rowtype;
cursor c is select * from student;
begin
dbms_output.put_line('--------------');
open c;
dbms_output.put_line(c%rowcount);
while(c%found)
loop
fetch c into r;
dbms_output.put_line(r.id||' '||r.name||' '||r.adr);
end loop;
close c;
dbms_output.put_line('--------------');
end;
/
12. explicite cursor 3
set serveroutput on
declare
cursor c is select * from student;
begin
dbms_output.put_line('--------------');
for r in c
5
loop
dbms_output.put_line(r.id||' '||r.name||' '||r.adr);
end loop;
dbms_output.put_line('--------------');
end;
/
13.explicite cursor 4
set serveroutput on
declare
r student%rowtype;
cursor c(a varchar2) is select * from student where adr=a;
begin
dbms_output.put_line('--------------');
open c('&a');
loop
fetch c into r;
dbms_output.put_line(r.id||' '||r.name||' '||r.adr);
exit when c%notfound;
end loop;
close c;
dbms_output.put_line('--------------');
end;
/
14. explicite cursor 5
set serveroutput on
declare
r student%rowtype;
cursor c(a varchar2) is select * from student where adr=a;
begin
dbms_output.put_line('--------------');
open c('&a');
dbms_output.put_line(c%rowcount);
while(c%found)
loop
fetch c into r;
dbms_output.put_line(r.id||' '||r.name||' '||r.adr);
end loop;
close c;
dbms_output.put_line('--------------');
end;
/
15.explicite cursor 6
6
set serveroutput on
declare
cursor c(a varchar2) is select * from student where adr=a;
begin
dbms_output.put_line('--------------');
for r in c('&a')
loop
dbms_output.put_line(r.id||' '||r.name||' '||r.adr);
end loop;
dbms_output.put_line('--------------');
end;
/
16. facorial
set serveroutput on
declare
a number(3);
fact number(7):=1;
begin
a:=&a;
dbms_output.put_line('--------------');
for i in reverse 1..a
loop
fact:=fact*i;
end loop;
dbms_output.put_line(a||' factorial ='||fact);
dbms_output.put_line('--------------');
end;
/
17. for loop 1
set serveroutput on
begin
dbms_output.put_line('--------------');
for a in 1..10
loop
dbms_output.put_line(a||' Today is Wonderfull Day');
end loop;
dbms_output.put_line('--------------');
end;
/
18. for loop 2
set serveroutput on
7
declare
begin
dbms_output.put_line('----------------');
for i in 1..3
loop
for j in 1..3
loop
if j=2 then
exit;
end if;
dbms_output.put_line(i ||'::::'||j);
end loop;
end loop;
dbms_output.put_line('----------------');
end;
/
19.function 1
set serveroutput on
create or replace function fun1(a in out number)
return number
as
begin
a:=a*a;
return a;
dbms_output.put_line('--------------');
dbms_output.put_line('--------------');
end;
/
20.function 2
set serveroutput on
create or replace function fun1(i in out number)
return number
as
begin
i:=i*i;
return i;
end;
/
21. function 3
set serveroutput on
create or replace function fun1(i in number)
return varchar2
as
n student.name%type;
8
a student.adr%type;
begin
select name,adr into n,a from student where id=i;
return concat(n,' lives in '||a);
dbms_output.put_line('--------------');
dbms_output.put_line('--------------');
end;
/
22. nested if else or find greatest number
set serveroutput on
declare
a number(3);
b number(3);
c number(3);
begin
a:=&a;
b:=&b;
c:=&c;
dbms_output.put_line('----------------');
if(a>b and a>c) then
dbms_output.put_line(a ||': is Greatest Number :');
elsif(b>c) then
dbms_output.put_line(b ||': is Greatest Number :');
else
dbms_output.put_line(c ||': is Greatest Number :');
end if;
dbms_output.put_line('----------------');
end;
/
23.if loop 1
set serveroutput on
declare
i number(3);
begin
i:=&i;
if(mod(i,2)=0) then
dbms_output.put_line('----------------');
dbms_output.put_line(i ||': is Even Number :');
dbms_output.put_line('----------------');
end if;
end;
/
24.if loop 2
9
set serveroutput on
declare
i number(3);
begin
i:=&i;
dbms_output.put_line('----------------');
if(mod(i,2)=0) then
dbms_output.put_line(i||' : is Even Number.');
end if;
dbms_output.put_line('----------------');
end;
/
25.if loop 3
set serveroutput on
declare
i number(3);
begin
i:=&i;
dbms_output.put_line('----------------');
if(mod(i,2)=0) then
dbms_output.put_line(i||' : is Even Number.');
else
dbms_output.put_line(i||' : is Odd Number.');
end if;
dbms_output.put_line('----------------');
end;
/
26. if else ladder
set serveroutput on
declare
i number(3);
begin
i:=&i;
dbms_output.put_line('----------------');
if(i<=100 and i>=75) then
dbms_output.put_line(i||' Distinction.');
elsif(i<=74 and i>=60) then
dbms_output.put_line(i||' First Class.');
elsif(i<=59 and i>=50) then
dbms_output.put_line(i||' Second Class.');
elsif(i<=49 and i>=40) then
dbms_output.put_line(i||' Pass Class.');
else
dbms_output.put_line(' Need of Improvement ');
end if;
10
dbms_output.put_line('----------------');
end;
/
27. implicite cursor
set serveroutput on
declare
a number(3);
begin
a:=10;
dbms_output.put_line('--------------');
insert into student(id,name,adr)values(7,'G','Indapur');
dbms_output.put_line('No.rows Effected::'||SQL%FOUND);
dbms_output.put_line('--------------');
end;
/
28.input file
set serveroutput on
declare
a student.name%type;
b student.adr%type;
i student.id%type;
begin
i:='&i';
select name,adr into a,b from student where id=i;
dbms_output.put_line('--------------');
dbms_output.put_line('WElcome --'||a||' Address '||b);
dbms_output.put_line('--------------');
end;
/
29. join table
drop table student;
create table student
(
id number(3),
name varchar2(10),
adr varchar2(10)
);
desc student;
insert into student(id,name,adr)values(1,'akash','Indapur');
insert into student(id,name,adr)values(2,'suraj','Baramati');
insert into student(id,name,adr)values(3,'ramesh','Indapur');
insert into student(id,name,adr)values(4,'asif','Baramati');
11
drop table lib;
create table lib
(
id number(3),
book varchar2(10)
);
insert into lib(id,book)values(1,'DMS');
insert into lib(id,book)values(2,'DSU');
insert into lib(id,book)values(5,'CGR');
insert into lib(id,book)values(6,'OOP');
select * from student;
select * from lib;
drop table college;
create table college
(
id number(3),
name varchar2(10),
adr varchar2(10),
per number(3),
account number(5),
fees number(5)
);
insert into college(id,name,adr,per,account,fees)
values(1,'asif','Bara',67,68664,20000);
insert into college(id,name,adr,per,account,fees)
values(2,'rohan','Ind',78,77654,35000);
insert into college(id,name,adr,per,account,fees)
values(3,'ganesh','Tem',87,44557,25000);
insert into college(id,name,adr,per,account,fees)
values(4,'raj','Bara',95,99886,15000);
select * from college;
30.lable 1
set serveroutput on
declare
begin
dbms_output.put_line('----------------');
goto Seven;
dbms_output.put_line('01:::Its Wonderfull Day:::');
dbms_output.put_line('02:::Its Wonderfull Day:::');
<<Three>>
dbms_output.put_line('03:::Its Wonderfull Day:::');
goto Ten;
dbms_output.put_line('04:::Its Wonderfull Day:::');
12
dbms_output.put_line('04:::Its Wonderfull Day:::');
dbms_output.put_line('06:::Its Wonderfull Day:::');
<<Seven>>
dbms_output.put_line('07:::Its Wonderfull Day:::');
goto Three;
dbms_output.put_line('08:::Its Wonderfull Day:::');
dbms_output.put_line('09:::Its Wonderfull Day:::');
<<Ten>>
dbms_output.put_line('10:::Its Wonderfull Day:::');
dbms_output.put_line('----------------');
end;
/
31. lable 2
set serveroutput on
declare
n number(3);
begin
goto seven;
<<one>>
dbms_output.put_line('----------------');
dbms_output.put_line('Statement No : 1 ');
dbms_output.put_line('Statement No : 2 ');
<<three>>
dbms_output.put_line('Statement No : 3 ');
goto ten;
dbms_output.put_line('Statement No : 4 ');
dbms_output.put_line('Statement No : 5 ');
dbms_output.put_line('Statement No : 6 ');
<<seven>>
dbms_output.put_line('Statement No : 7 ');
goto three;
dbms_output.put_line('Statement No : 8 ');
dbms_output.put_line('Statement No : 9 ');
<<ten>>
dbms_output.put_line('Statement No : 10 ');
dbms_output.put_line('----------------');
goto one;
end;
/
32.nested loop
set serveroutput on
declare
a number(3);
13
begin
dbms_output.put_line('--------------');
for i in 1..3
loop
for j in 1..3
loop
if(j=2) then
continue;
end if;
dbms_output.put_line(i||' ::: '||j);
end loop;
end loop;
dbms_output.put_line('--------------');
end;
/
33.predefine exception
set serveroutput on
declare
a number(3);
b number(3);
c number(6);
begin
a:=&a;
b:=&b;
dbms_output.put_line('--------------');
c:=a/b;
dbms_output.put_line('Result ::'||c);
dbms_output.put_line('--------------');
Exception
when zero_divide then
dbms_output.put_line('Please Enter NonZero Values::');
when others then
dbms_output.put_line('::Unknown Error::');
end;
/
34.predefine exception
set serveroutput on
declare
a student.id%type;
b student.name%type;
c student.adr%type;
begin
c:='&c';
14
select id,name into a,b from student where adr=c;
dbms_output.put_line('--------------');
dbms_output.put_line('ID:'||a||' Name:'||b);
dbms_output.put_line('--------------');
Exception
when no_data_found then
dbms_output.put_line('::Data Not Availble::');
when too_many_rows then
dbms_output.put_line('::Too Many Rows::');
when others then
dbms_output.put_line('::Unknown Error::');
end;
/
35. prime number
set serveroutput on
declare
a number(3);
fact number(7):=1;
begin
dbms_output.put_line('--------------');
for i in 1..10
loop
a:=0;
for j in 2..i/2
loop
if(mod(i,j)=0) then
a:=1;
end if;
end loop;
if(a=0) then
dbms_output.put_line(i ||' is Prime');
end if;
end loop;
dbms_output.put_line('--------------');
end;
/
36. procedure 1
set serveroutput on
create or replace procedure prg1(n in number)
as
b number(6);
begin
b:=n*n;
dbms_output.put_line('--------------');
15
dbms_output.put_line(n||'***:Square is :***'||b);
dbms_output.put_line('--------------');
end;
/
37.procedure 2
set serveroutput on
create or replace procedure prg1(n in number,b out number)
as
begin
b:=n*n;
dbms_output.put_line('--------------');
dbms_output.put_line('--------------');
end;
/
38.procedure 3
set serveroutput on
create or replace procedure prg1(n in out number)
as
begin
n:=n*n;
dbms_output.put_line('--------------');
dbms_output.put_line('--------------');
end;
/
39.self join
drop table emp;
create table emp
(
e_id number(3),
name varchar2(10),
m_id number(3)
);
desc emp;
insert into emp(e_id,name,m_id)values(1,'akash',3);
insert into emp(e_id,name,m_id)values(2,'suraj',4);
insert into emp(e_id,name,m_id)values(3,'rohit',3);
insert into emp(e_id,name,m_id)values(4,'rahul',1);
select * from emp;
40. while loop
set serveroutput on
declare
a number(3):=1;
begin
16
dbms_output.put_line('----------------');
<<abc>>
while a<=10
loop
if a=5 then
a:=a+1;
goto abc;
end if;
dbms_output.put_line(a||':::Its Wonderfull Day:::');
a:=a+1;
end loop;
dbms_output.put_line('----------------');
end;
/
41.table 1
drop table student;
create table student
(
id number(3),
name varchar2(10),
adr varchar2(10)
);
desc student;
insert into student(id,name,adr)values(1,'akash','Indapur');
insert into student(id,name,adr)values(2,'suraj','Baramati');
insert into student(id,name,adr)values(3,'ramesh','Indapur');
insert into student(id,name,adr)values(4,'asif','Baramati');
insert into student(id,name,adr)values(5,'Rohit','Indapur');
insert into student(id,name,adr)values(6,'Virat','Pune');
drop table lib;
create table lib
(
id number(3),
book varchar2(10)
);
insert into lib(id,book)values(1,'DMS');
insert into lib(id,book)values(2,'DSU');
insert into lib(id,book)values(5,'CGR');
insert into lib(id,book)values(6,'OOP');
select * from student;
select * from lib;
17
drop table college;
create table college
(
id number(3),
name varchar2(10),
adr varchar2(10),
per number(3),
account number(5),
fees number(5)
);
insert into college(id,name,adr,per,account,fees)
values(1,'asif','Bara',67,68664,20000);
insert into college(id,name,adr,per,account,fees)
values(2,'rohan','Ind',78,77654,35000);
insert into college(id,name,adr,per,account,fees)
values(3,'ganesh','Tem',87,44557,25000);
insert into college(id,name,adr,per,account,fees)
values(4,'raj','Bara',95,99886,15000);
select * from college;
42.table 2
drop table emp;
create table emp
(
id number(3),
name varchar2(10),
salary number(7)
);
desc emp;
insert into emp(id,name,salary)values(1,'akash',5000);
insert into emp(id,name,salary)values(2,'Suraj',7000);
insert into emp(id,name,salary)values(3,'Rohit',9000);
drop table left;
create table left
(
id number(3),
name varchar2(10),
salary number(7),
Date_of_left date
);
43.table 3
drop table history;
create table history
(
name varchar2(20),
last date
18
);
desc emp;
insert into history(name,last)values(user,sysdate);
select * from history;
44.trigger 1
set serveroutput on
create or replace trigger trg1
after
update
on emp
for each row
when (new.id>0)
declare
diff number(7);
begin
diff:=:new.salary-:old.salary;
dbms_output.put_line('-------------------------');
dbms_output.put_line('Old Salary '||:old.salary);
dbms_output.put_line('New Salary '||:new.salary);
dbms_output.put_line('Salary Difference'||diff);
dbms_output.put_line('-------------------------');
end;
/
45.trigger 2
set serveroutput on
create or replace trigger trg1
after
delete
on emp
for each row
begin
dbms_output.put_line('-------------------------');
insert into left(id,name,salary,Date_of_left)
values(:old.id,:old.name,:old.salary,sysdate);
dbms_output.put_line('-------------------------');
end;
/
46. user define exception 1
set serveroutput on
declare
i student.id%type;
19
b student.name%type;
a student.adr%type;
invalid EXCEPTION;
begin
i:=&i;
if(i<=0) then
raise invalid;
end if;
select name,adr into b,a from student where id=i;
dbms_output.put_line('--------------');
dbms_output.put_line('ID:'||i||' Name:'||b||' Adr:'||a);
dbms_output.put_line('--------------');
exception
when invalid then
dbms_output.put_line('-Enter Value Greater than Zero-');
end;
/
47.user define exception 2
set serveroutput on
declare
amount number(7);
balance EXCEPTION;
begin
amount:=&amount;
if(amount<500) then
raise balance;
end if;
dbms_output.put_line('--------------');
dbms_output.put_line(':***:You Can Deposit Money:***:');
dbms_output.put_line('--------------');
exception
when balance then
dbms_output.put_line('-:Insufficient Amount:-');
end;
/
48. table for view
drop table student;
create table student
(
id number(3),
name varchar2(10),
adr varchar2(10)
);
desc student;
20
insert into student(id,name,adr)values(1,'akash','Indapur');
insert into student(id,name,adr)values(2,'suraj','Baramati');
insert into student(id,name,adr)values(3,'ramesh','Indapur');
insert into student(id,name,adr)values(4,'asif','Baramati');
drop table lib;
create table lib
(
id number(3),
book varchar2(10)
);
insert into lib(id,book)values(1,'DMS');
insert into lib(id,book)values(2,'DSU');
insert into lib(id,book)values(5,'CGR');
insert into lib(id,book)values(6,'OOP');
select * from student;
select * from lib;
drop table college;
create table college
(
id number(3),
name varchar2(10),
adr varchar2(10),
per number(3),
account number(5),
fees number(5)
);
insert into college(id,name,adr,per,account,fees)
values(1,'asif','Bara',67,68664,20000);
insert into college(id,name,adr,per,account,fees)
values(2,'rohan','Ind',78,77654,35000);
insert into college(id,name,adr,per,account,fees)
values(3,'ganesh','Tem',87,44557,25000);
insert into college(id,name,adr,per,account,fees)
values(4,'raj','Bara',95,99886,15000);
select * from college;
49. print welcome
set serveroutput on
declare
a varchar2(20);
begin
a:='&a';
21
dbms_output.put_line('--------------');
dbms_output.put_line('WElcome --'||a);
dbms_output.put_line('--------------');
end;
/
50. while loop
set serveroutput on
declare
a number(3);
begin
a:=10;
dbms_output.put_line('--------------');
while a>=1
loop
dbms_output.put_line(a||' Today is Wonderfull Day');
a:=a-1;
end loop;
dbms_output.put_line('--------------');
end;
/
51. while loop
set serveroutput on
declare
a number(3);
begin
a:=10;
dbms_output.put_line('----------------');
while a>=1
loop
dbms_output.put_line(a||' Today is Good Day ! ');
a:=a-1;
end loop;
dbms_output.put_line('----------------');
end;
/
22