0% found this document useful (0 votes)
3 views

function_procedure

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views

function_procedure

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 2

create table stud_marks(name varchar2(20),sub1 number,sub2 number,sub3 number);

insert into stud_marks values ('jeevika',89,87,86);


insert into stud_marks values ('jovita',79,70,67);
insert into stud_marks values ('jay'59,60,55);
insert into stud_marks values ('ram',49,50,45);
insert into stud_marks values ('suresh',39,37,35);

create table sample( rollno number, name varchar2(20));

create table student_percent(name varchar2(20),percent float);

create table customer (cid number,cname varchar2(20),city var,age,balance);

customer table
Q) cursor-Give 5% raise in balance of customer whose age is greater than or equal
to 60 .
ALso count how many total customer in raised.If no one is raised than write it as
no
senior citizen in DB.

/-------SYNTAX-----/
**FUNCTION
create [or replace] function function_name
[(parametername1[IN| OUT|IN OUT] type,
parametername2 [IN| OUT|IN OUT] type,....)]
return return_datatype
IS
variable_declaration
Begin
<function_body>
end;

*How to Execute function


select function_name from table table_name;

*Drop any fuction


drop function function_name;

**PROCEDURE
create [or replace] procedure procedure_name
[(parametername1[IN| OUT|IN OUT] type,
parametername2 [IN| OUT|IN OUT] type,....)]
IS
variable_declaration
Begin
<procedure_body>
end;

/---QUERIES---/
create or replace function percentage
(subject1 in number,subject2 in number,subject3 in number)
return float
is
percent float;
begin
percent:= ((subject1+subject2+subject3)/300*100);
return percent;
end;
/
create procedure pro_sample(vrollno number, vname varchar2)
is
begin
insert into sample values (vrollno,vname);
end;
/

student_percent
create or replace procedure grade
(vname varchar ,vpercent float, vgrade out varchar)
is
begin
if vpercent >=75 then
vgrade:='Distinction';
elsif vpercent between 60 and 74 then
vgrade:='First';
elsif vpercent between 50 and 59 then
vgrade:='Second';
elsif vpercent between 40 and 49 then
vgrade:='Pass';
else
vgrade:='Fail';
end if;
end;
/

create or replace procedure callee_grade


is
vname student_percent.name%type;
vpercent student_percent.percent%type;
vgrade varchar2(20);
cursor cur_grade is select name , percent from student_percent;
begin
open cur_grade;
loop
fetch cur_grade into vname ,vpercent;
grade(vname,vpercent,vgrade);
exit when cur_grade%notfound;
dbms_output.put_line(vname||' '||vpercent||' '||vgrade);
end loop;
close cur_grade;
end;
/

o/p:-Function created.

You might also like