Similar to the above, only this time the program will receive student's first name only (instead of ID) Then program finds full name and address and prints it on the screen  (work with STUDENT table here) For both programs please implement NO_DATA_FOUND and TOO_MANY_ROWS exceptions. (please refer to chapter 8 in PL/SQL by Example book) For number 2 program, display a message "Possibly you have two or more students with the first name ...." in TOO_MANY_ROWS exception block. 1* select table_name from user_tables SQL> desc student Name Null? Type ----------------------------------------- -------- ---------------------------- STUDENT_ID NOT NULL NUMBER(8) SALUTATION VARCHAR2(5) FIRST_NAME VARCHAR2(25) LAST_NAME NOT NULL VARCHAR2(25) STREET_ADDRESS VARCHAR2(50) ZIP NOT NULL VARCHAR2(5) PHONE VARCHAR2(15) EMPLOYER VARCHAR2(50) REGISTRATION_DATE NOT NULL DATE CREATED_BY NOT NULL VARCHAR2(30) CREATED_DATE NOT NULL DATE MODIFIED_BY NOT NULL VARCHAR2(30) MODIFIED_DATE NOT NULL DATE

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

Where shouId I put the while loop in these programs thanks?

Develop a two small PL/SQL programs.

1. Enter instructor ID from the keyboard. The program then finds instrutor's first name, last name and phone, stores them in variables and prints them on the screen. USE WHILE LOOP to print all instructors while selecting them one by one in the loop.

2. Similar to the above, only this time the program will receive student's first name only (instead of ID)
Then program finds full name and address and prints it on the screen  (work with STUDENT table here)

For both programs please implement NO_DATA_FOUND and TOO_MANY_ROWS exceptions. (please refer to chapter 8 in PL/SQL by Example book)
For number 2 program, display a message "Possibly you have two or more students with the first name ...." in TOO_MANY_ROWS exception block.

1* select table_name from user_tables
SQL> desc student
Name Null? Type
----------------------------------------- -------- ----------------------------
STUDENT_ID NOT NULL NUMBER(8)
SALUTATION VARCHAR2(5)
FIRST_NAME VARCHAR2(25)
LAST_NAME NOT NULL VARCHAR2(25)
STREET_ADDRESS VARCHAR2(50)
ZIP NOT NULL VARCHAR2(5)
PHONE VARCHAR2(15)
EMPLOYER VARCHAR2(50)
REGISTRATION_DATE NOT NULL DATE
CREATED_BY NOT NULL VARCHAR2(30)
CREATED_DATE NOT NULL DATE
MODIFIED_BY NOT NULL VARCHAR2(30)
MODIFIED_DATE NOT NULL DATE

 


SQL> desc instructor
Name Null? Type
----------------------------------------- -------- ----------------------------
INSTRUCTOR_ID NOT NULL NUMBER(8)
SALUTATION VARCHAR2(5)
FIRST_NAME VARCHAR2(25)
LAST_NAME VARCHAR2(25)
STREET_ADDRESS VARCHAR2(50)
ZIP VARCHAR2(5)
PHONE VARCHAR2(15)
CREATED_BY NOT NULL VARCHAR2(30)
CREATED_DATE NOT NULL DATE
MODIFIED_BY NOT NULL VARCHAR2(30)
MODIFIED_DATE NOT NULL DATE

 

DECLARE

 v_student_id NUMBER      := &sv_student_id;

v_enrolled   VARCHAR2(3) := 'NO';

BEGIN

 DBMS_OUTPUT.PUT_LINE ('Check if the student is enrolled');

SELECT 'YES'

 INTO  v_enrolled

FROM  enrollment

   WHERE  student_id = v_student_id;

 DBMS_OUTPUT.PUT_LINE ('The student is enrolled into one course');

EXCEPTION

  WHEN NO_DATA_FOUND

 THEN    

DBMS_OUTPUT.PUT_LINE ('The student is not enrolled');

WHEN TOO_MANY_ROWS  

THEN

DBMS_OUTPUT.PUT_LINE ('The student is enrolled in multiple courses');

End;

This example contains two exceptions in a single exception-handling section. The first exception, NO_DATA_FOUND, will be raised if there are no records in the ENROLLMENT table for a particular student. The second exception, TOO_MANY_ROWS, will be raised if a particular student is enrolled in more than one course.Consider what happens if you run this example for three different values of student ID: 102, 103, and 319. In the first run, when the student ID is 102, the example produces the following output:   Check if the student is enrolledThe student is enrolled in multiple courses

 

DECLARE

v_instructor_id   NUMBER := &sv_instructor_id;

v_instructor_name VARCHAR2(50);

BEGIN

  SELECT first_name||' '||last_name

 INTO v_instructor_name  

  FROM instructor

WHERE instructor_id = v_instructor_id;

DBMS_OUTPUT.PUT_LINE ('Instructor name is '||v_instructor_name);

WHEN OTHERS 

 THEN

BMS_OUTPUT.PUT_LINE ('An error has occurred');

end;

When a value of 100 is provided at run time for the variable v_instructor_id, this example produces the following output:  An error has occurred

Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps with 1 images

Blurred answer
Knowledge Booster
Web Page
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education