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

function_procedure

Copyright
© © All Rights Reserved
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
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