PL - SQL Programes PDF
PL - SQL Programes PDF
BLOGGING TRICKS
HOME BLOGGER ADSENSE STUDIES
Tuesday, 24 November 2015 Follow me
Pl/sql programes
1.pl/sql program to find the prime number
declare
Dharsan M
n number;
Add to circ
i number; 0 have me in circ
pr number:=1;
begin Blog Archive
n:=&n;
▼ 2015
for i in 2..n/2 loop
▼
if mod(i,2)=0 then
pr:=0;
end if;
end loop;
if pr=1 then
dbms_output.put_line('the given number'||n||'is prime');
else
dbms_output.put_line('the given number'||n||'is not prime');
end if;
end;
/
2.pl/sql program to find fibonacci series
declare
f1 number:=0;
f2 number:=1;
f3 number:=1;
n number;
http://www.bloggingtraps.com/2015/11/plsqlprogrames_22.html#more 1/14
29/11/2015 Pl/sql programes
i number;
begin
n:=&n;
dbms_output.put_line('fib'||f1);
for i in 1..n1 loop
dbms_output.put_line('fib'||f3);
f3:=f1+f2;
f1:=f2;
f2:=f3;
end loop;
About Me
end;
Dharsa
/ Follow
View my co
3.pl/sql program for polindrome using function
create or replace function poly(g varchar2)
return varchar2
is
s varchar2(20);
i number;
begin
for i in reverse 1..length(g) loop
s:=s||substr(g,i,1);
end loop;
if(s=g) then
return 'polindrome';
else
return'not polindrome';
end if;
end;
/
select poly('raj') from dual;
4.pl/sql program for factorial
DECLARE
num number;
factorial number;
FUNCTION fact(x number)
http://www.bloggingtraps.com/2015/11/plsqlprogrames_22.html#more 2/14
29/11/2015 Pl/sql programes
RETURN number
IS
f number;
BEGIN
IF x=0 THEN
f := 1;
ELSE
f := x * fact(x1);
end if;
return f;
end;
BEGIN
num := #
factorial := fact(num);
dbms_output.put_line(' Factorial '|| num || ' is ' || factorial);
END;
/
5.pl/sql program for fatorial using function
create or replace function fact(n number)
return number
is
i number;
f number:=1;
begin
for i in 1..n loop
f:=f*i;
end loop;
return f;
end;
/
declare
n number;
begin
n:=&n;
dbms_output.put_line('fact is'||fact(n));
end;
/
http://www.bloggingtraps.com/2015/11/plsqlprogrames_22.html#more 3/14
29/11/2015 Pl/sql programes
6.pl/sql program for sum of digits
declare
n number;
r number;
a number:=0;
begin
n:=&n;
while n>0 loop
r:=mod(n,10);
a:=a+r;
n:=trunc(n/10);
end loop;
dbms_output.put_line('sum of digits is'||a);
end;
/
7.pl/sql program for reverse the digits
declare
n number;
r number;
a number:=0;
begin
n:=&n;
loop
exit when n=0;
a:=a*10;
r:=mod(n,10);
a:=a+r;
n:=trunc(n/10);
end loop;
dbms_output.put_line('output'||a);
end;
/
8.pl/sql program to count +ve and ve number
http://www.bloggingtraps.com/2015/11/plsqlprogrames_22.html#more 4/14
29/11/2015 Pl/sql programes
declare
type a is varray(10) of number;
a1 a;
i number;
pos number:=0;
neg number:=0;
begin
a1:=a(1,2,3,4,5,1,2,3,4,5);
for i in 1..10 loop
if a1(i)>0 then
pos:=pos+1;
else
neg:=neg+1;
end if;
end loop;
dbms_output.put_line('pos'||pos);
dbms_output.put_line('neg'||neg);
end;
/
9.pl/sql program for trigger
create table customers(ID number(2),NAME varchar2(7),age integer,address
varchar2(10),salary number(10));
insert into customers values(1,'ramesh',32,'ahmedabad',2000.00);
insert into customers values(2,'rahul',25,'delhi',1500.00);
insert into customers values(3,'ravi',23,'pune',2000.00);
insert into customers values(4,'raj',25,'mumbai',6500.00);
insert into customers values(5,'ram',27,'bhopal',8500.00);
insert into customers values(6,'komal',22,'mp',4500.00);
CREATE OR REPLACE TRIGGER display_salary_changes
BEFORE DELETE OR INSERT OR UPDATE ON customers
FOR EACH ROW
WHEN (NEW.ID > 0)
DECLARE
sal_diff number;
BEGIN
sal_diff := :NEW.salary :OLD.salary;
dbms_output.put_line('Old salary: ' || :OLD.salary);
dbms_output.put_line('New salary: ' || :NEW.salary);
dbms_output.put_line('Salary difference: ' || sal_diff);
http://www.bloggingtraps.com/2015/11/plsqlprogrames_22.html#more 5/14
29/11/2015 Pl/sql programes
END;
/
UPDATE customers
SET salary = salary + 500
WHERE id = 2;
10.pl/sql program for cursor
create table eb(cust_name varchar2(20),cunit number(5));
insert into eb values('ram',200);
insert into eb values('ravi',300);
declare
i eb%rowtype;
cursor c is select * from eb;
amount number(10,2);
begin
open c;
loop
fetch c into i;
exit when c%notfound;
if(i.cunit>200) then
amount:=((i.cunit200)*3)+300;
elsif(i.cunit>100) then
amount:=((i.cunit100)*2)+100;
else
amount:=i.cunit*1;
end if;
update eb set camnt=amount where cust_name=i.cust_name;
end loop;
close c;
end;
/
11.pl/sql program for sum of odd from 1 to 10
declare
s number:=0;
i number;
begin
http://www.bloggingtraps.com/2015/11/plsqlprogrames_22.html#more 6/14
29/11/2015 Pl/sql programes
for i in 1..10 loop
if mod(i,2)=1 then
s:=s+i;
dbms_output.put_line(i);
end if;
end loop;
dbms_output.put_line('result'||s);
end;
/
12.pl/sql program for factorial using package
create or replace package aa
as
function fact(x in number,f in out number)
return number;
end aa;
/
create or replace package body aa
as
function fact(x in number,f in out number)
return number
is
i number;
begin
for i in 1..x loop
f:=f*i;
end loop;
return f;
end fact;
end aa;
/
declare
x number;
f number:=1;
begin
x:=&x;
f:=aa.fact(x,f);
dbms_output.put_line(x||'!'||'='||f);
end;
/
http://www.bloggingtraps.com/2015/11/plsqlprogrames_22.html#more 7/14
29/11/2015 Pl/sql programes
13.pl/sql procedure to check prime and pl/sql function for factorial
using package
create or replace package aa
as
procedure prime(x in number);
function fact(x in number,f in out number)
return number;
end aa;
/
create or replace package body aa
as
procedure prime(x in number)
is
i number;
pr number(2):=1;
begin
for i in 2..x/2 loop
if mod(x,i)=0 then
pr:=0;
end if;
end loop;
if pr=1 then
dbms_output.put_line('prime number'||x);
else
dbms_output.put_line('not prime number');
end if;
end prime;
function fact(x in number,f in out number)
return number
is
i number;
begin
for i in 1..x loop
f:=f*i;
end loop;
return f;
end fact;
end aa;
/
declare
x number;
f number:=1;
begin
http://www.bloggingtraps.com/2015/11/plsqlprogrames_22.html#more 8/14
29/11/2015 Pl/sql programes
x:=&x;
aa.prime(x);
f:=aa.fact(x,f);
dbms_output.put_line(x||'!'||f);
end;
/
14.pl/sql program to count the no of students in a particular major using package
create table student(id number(2),name varchar2(20),dept varchar2(20));
insert into student values(1,'raj','cs');
insert into student values(2,'ram','cs');
create or replace package p
as
procedure stu(major in varchar2);
end p;
/
create or replace package body p
as
procedure stu(major in varchar2)
is
count_stud number;
begin
select count(name) into count_stud from student where dept=major;
dbms_output.put_line('no of dept is'||count_stud);
end stu;
end p;
/
declare
begin
p.stu('cs');
end;
/
15.pl/sql program for tilde symbol
declare
i number;
http://www.bloggingtraps.com/2015/11/plsqlprogrames_22.html#more 9/14
29/11/2015 Pl/sql programes
j number;
n number;
m number;
s number;
begin
n:=&n;
for i in 1..n loop
for j in 1..n1 loop
dbms_output.put('~');
end loop;
for s in 1..i loop
dbms_output.put(s);
end loop;
for s in reverse 1..i1 loop
dbms_output.put(s);
end loop;
dbms_output.put_line('');
end loop;
for i in reverse 1..n1 loop
for j in 1..n1 loop
dbms_output.put('~');
end loop;
for s in 1..i loop
dbms_output.put(s);
end loop;
for s in reverse 1..i1 loop
dbms_output.put(s);
end loop;
dbms_output.put_line('');
end loop;
end;
/
16.pl/sql program to find odd or even
declare
n number;
begin
n:=&n;
if mod(n,2)=0 then
dbms_output.put_line('even');
else
dbms_output.put_line('odd');
end if;
end;
/
http://www.bloggingtraps.com/2015/11/plsqlprogrames_22.html#more 10/14
29/11/2015 Pl/sql programes
17.pl/sql program for area of circle using for loop and inserting
into table
create table ar(radius number(5),area number(5));
declare
pi number(5,2):=3.14;
r number(5);
area number(5);
begin
r:=&r;
loop
area:=pi*power(r,2);
insert into ar values(r,area);
r:=r+1;
exit when area>100;
end loop;
end;
/
18.pl/sql program for area of cirlce using if statement
declare
pi number(5,2):=3.14;
radius number(5);
area number(5);
begin
radius:=&radius;
if radius=0 then
dbms_output.put_line('not found the area');
else
area:=pi*power(radius,2);
insert into ar values(radius,area);
end if;
end;
/
19.pl/sql program for area of circle using while loop
declare
pi number(5,2):=3.14;
radius number(5);
area number(5);
begin
radius:=&radius;
while radius<=10 loop
http://www.bloggingtraps.com/2015/11/plsqlprogrames_22.html#more 11/14
29/11/2015 Pl/sql programes
area:=pi*radius*radius;
insert into ar values(radius,area);
radius:=radius+1;
end loop;
end;
/
20.pl/sql program to create exception when radius=0
declare
a number(5);
begin
select area into a from ar where radius=0;
dbms_output.put_line('radius found');
exception
when no_data_found then
dbms_output.put_line('not found');
end;
/
21.pl/sql program to add and mul two nos
declare
a number;
b number;
s number;
m number;
begin
a:=&a;
b:=&b;
s:=a+b;
m:=a*b;
dbms_output.put_line('sum'||s);
dbms_output.put_line('mul'||m);
end;
/
22.pl/sql program for simple and compound interest
declare
p number;
n number;
http://www.bloggingtraps.com/2015/11/plsqlprogrames_22.html#more 12/14
29/11/2015 Pl/sql programes
r number;
si number:=0;
ci number:=0;
begin
p:=&p;
n:=&n;
r:=&r;
si:=(p*n*r)/100;
ci:=p*(1+(r/100))**n;
dbms_output.put_line(si);
dbms_output.put_line(ci);
end;
/
23.pl/sql program to find +ve or ve
declare
n number;
begin
n:=&n;
if (n>0) then
dbms_output.put_line('Positive');
else
dbms_output.put_line('negative');
end if;
end;
/
Labels: study
No comments:
Post a Comment
Enter your comment...
Comment as: Google Account
Publish
Preview
http://www.bloggingtraps.com/2015/11/plsqlprogrames_22.html#more 13/14
29/11/2015 Pl/sql programes
Subscribe to: Post Comments (Atom)
copyright 2015. Simple template. Powered by Blogger.
http://www.bloggingtraps.com/2015/11/plsqlprogrames_22.html#more 14/14