Question

EX:NO:7 PLISOL PROCEDURE & FUNCTION AIM To develop the package for finding the number of students under each percentage for i

The procedure is a sample and needs to be modified.
The software used is oracle 11g.
Provide screen shot of the program running.

0 0
Add a comment Improve this question Transcribed image text
Answer #1

create table student(ST_ID int primary key,
                   NAME varchar(25),
                   COURSECODE CHAR(4),
                   COURSENAME varchar(20),
                   TOTAL_MARKS int,
                   PERCENTAGE int);
                  
insert into student values(1,'peter','CS82','DBMS',350,75);
insert into student values(2,'john','CS82','DBMS',150,35);
insert into student values(3,'joe','CS82','DBMS',300,59);
insert into student values(4,'William','CS82','DBMS',360,55);
                  
insert into student values(5,'Harry','CS81','python',550,95);
insert into student values(6,'pinky','CS81','python',100,30);
insert into student values(7,'john','CS81','python',320,61);
insert into student values(8,'jane','CS81','python',350,65);

select * from student;

SQL> SQL> select*From student; ST ID NAME COUR COURSENAME TOTAL MARKS PERCENTAGE 350 158 300 360 550 100 320 350 75 35 1 pete

set serveroutput on;
CREATE or replace PROCEDURE MYPROCEDURE4(COURSE_NAME VARCHAR)
aS
count1 NUMBER :=0;
count2 number :=0;
count3 number :=0;
count4 number :=0;

   CURSOR C1 IS
   SELECT PERCENTAGE
   FROM STUDENT
   WHERE COURSENAME=COURSE_NAME;
  
begin  
   for p in c1
   loop
   if p.percentage>=70 AND P.PERCENTAGE<=100 THEN
       count1 := count1 + 1;
      
   elsif p.percentage >= 60 and p.percentage <70 THEN
       count2 :=count2 + 1;
      
   elsif p.percentage >=50 and p.percentage <59 THEN
       count3 :=count3 + 1;
      
   else
       count4 :=count4 + 1;
  
   END IF;
   END LOOP;
   dbms_output.put_line('TOTAL NUMBER OF STUDENT FOR COURSE '||COURSE_NAME||' RANGING FROM 70%-100% IS '||COUNT1);  
   dbms_output.put_line('TOTAL NUMBER OF STUDENT FOR COURSE '||COURSE_NAME||' RANGING FROM 60%-69% IS '||COUNT2);
   dbms_output.put_line('TOTAL NUMBER OF STUDENT FOR COURSE '||COURSE_NAME||' RANGING FROM 50%-59% IS '||COUNT3);
   dbms_output.put_line('TOTAL NUMBER OF STUDENT FOR COURSE '||COURSE_NAME||' BELOW 49% IS '||COUNT4);
end;
/

EXEC MYPROCEDURE4('DBMS');
EXEC MYPROCEDURE4('python');
SQL> EXEC MYPROCEDURE4DBMS); TOTAL NUMBER OF STUDENT FOR COURSE DBMS RANGING FROM 70%-100% IS 1 TOTAL NUMBER OF STUDENT FOR

set serveroutput on;
CREATE or replace function MYfunction5 return varchar2
as
   output varchar2(50);
   CURSOR C1 IS
   SELECT ST_ID,COURSENAME,NAME,TOTAL_MARKS
   FROM STUDENT;  
begin  
   for p in c1
   loop
   IF p.TOTAL_MARKS=350 THEN
       output := output || ' ( ' ||p.COURSENAME|| ' ' ||p.NAME||')';
   END IF;
   END LOOP;
   return output;
end;
/

select MYfunction5 from dual;

SQL> set serveroutput on; SQL〉 CREATE or replace function MY function5 return varchar2 2 as 3 output varchar2(50); 4CURSOR C1

Add a comment
Know the answer?
Add Answer to:
The procedure is a sample and needs to be modified. The software used is oracle 11g. Provide screen shot of the program running. EX:NO:7 PLISOL PROCEDURE & FUNCTION AIM To develop the package for...
Your Answer:

Post as a guest

Your Name:

What's your source?

Earn Coins

Coins can be redeemed for fabulous gifts.

Not the answer you're looking for? Ask your own homework help question. Our experts will answer your question WITHIN MINUTES for Free.
Similar Homework Help Questions
ADVERTISEMENT
Free Homework Help App
Download From Google Play
Scan Your Homework
to Get Instant Free Answers
Need Online Homework Help?
Ask a Question
Get Answers For Free
Most questions answered within 3 hours.
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT