A Guide to SQL
A Guide to SQL
9th Edition
ISBN: 9781111527273
Author: Philip J. Pratt
Publisher: Course Technology Ptr
bartleby

Concept explainers

Question
Book Icon
Chapter 8, Problem 4SCG
Program Plan Intro

a.

Stored procedures:

  • A procedure is a collection of procedural and SQL statements.
  • A procedure may have input parameter or output parameter or sometimes both the parameters.
  • It is declared with a unique name with a unit of procedural code using the proprietary RDBMS and it is invoked by a host language library routine.

Syntax for stored procedure:

CREATE FUNCTION fun_name(argument IN data-type)RETRUN data-type[IS]

BEGIN

    PL/SQL statements;

    Return (value or expression);

END;

Expert Solution
Check Mark

Explanation of Solution

Query to create stored procedure:

CREATE OR REPLACE PROCEDURE DISP_OWNER (I_OWNER_NUM IN OWNER.OWNER_NUM%TYPE) AS

I_FIRST_NAME   OWNER.FIRST_NAME%TYPE;

I_LAST_NAME    OWNER.LAST_NAME%TYPE;

BEGIN

SELECT FIRST_NAME, LAST_NAME

INTO I_FIRST_NAME, I_LAST_NAME

FROM OWNER

WHERE OWNER_NUM = I_OWNER_NUM;

DBMS_OUTPUT.PUT_LINE(I_OWNER_NUM);

DBMS_OUTPUT.PUT_LINE(I_FIRST_NAME);

DBMS_OUTPUT.PUT_LINE(I_LAST_NAME);

END;

/

Explanation:

  • The above query is used to create a procedure named “DISP_OWNER” to select the records in the “OWNER” table.
  • Change the “OWNER_NUM” into “I_OWNER_NUM” and place the “FIRST_NAME” and “LAST_NAME” values into “I_FIRST_NAME” and “I_LAST_NAME”.
  • After placing these values, display the “I_OWNER_NUM”, “I_FIRST_NAME”, and “I_LAST_NAME” from the “OWNER” table.
  • Once the stored procedure is created, it needs to be executed.

Query to view the owner name and ID:

BEGIN

DISP_OWNER ('AN175');

END;

The above query is used to view the owner ID, first name, and last name for the number “AN175”.

Sample Output

Output:

AN175

Bill                    

Anderson 

Explanation of Solution

b.

Query to create stored procedure:

CREATE OR REPLACE PROCEDURE DISP_CONDO_UNIT

(I_CONDO_ID IN  CONDO_UNIT.CONDO_ID%TYPE) AS

I_LOCATION_NUM      CONDO_UNIT.LOCATION_NUM%TYPE;

I_UNIT_NUM        CONDO_UNIT.UNIT_NUM%TYPE;

I_OWNER_NUM       CONDO_UNIT.OWNER_NUM%TYPE;

I_FIRST_NAME      OWNER.FIRST_NAME%TYPE;

I_LAST_NAME   OWNER.LAST_NAME%TYPE;

BEGIN

SELECT LOCATION_NUM, UNIT_NUM, CONDO_UNIT.OWNER_NUM, FIRST_NAME, LAST_NAME

INTO I_LOCATION_NUM, I_UNIT_NUM, I_OWNER_NUM, I_FIRST_NAME, I_LAST_NAME

FROM CONDO_UNIT, OWNER

WHERE CONDO_UNIT.OWNER_NUM = OWNER.OWNER_NUM

AND CONDO_ID = I_CONDO_ID;

DBMS_OUTPUT.PUT_LINE(I_CONDO_ID);

DBMS_OUTPUT.PUT_LINE(I_LOCATION_NUM);

DBMS_OUTPUT.PUT_LINE(I_UNIT_NUM);

DBMS_OUTPUT.PUT_LINE(I_OWNER_NUM);

DBMS_OUTPUT.PUT_LINE(I_FIRST_NAME);

DBMS_OUTPUT.PUT_LINE(I_LAST_NAME);

END;

/

Explanation:

  • The above query is used to create a procedure named “DISP_CONDO_UNIT” to select the records in the “CONDO_UNIT” and “OWNER” tables.
  • Change the “CONDO_ID” into “I_CONDO_ID” and place the “LOCATION_NUM”, “UNIT_NUM”, “OWNER_NUM”, “FIRST_NAME”, and “LAST_NAME” values into “I_LOCATION_NUM”, “I_UNIT_NUM”, “I_OWNER_NUM”, “I_FIRST_NAME”, and “I_ LAST_NAME”.
  • After placing these values, display the “I_CONDO_ID”, I_LOCATION_NUM”, “I_UNIT_NUM”, “I_OWNER_NUM”, “I_FIRST_NAME”, and “I_ LAST_NAME” from the “CONDO_UNIT” and “OWNER” tables.
  • Once the stored procedure is created, it needs to be executed.

Query to view a result:

BEGIN

DISP_CONDO_UNIT(3);

END;

The above query is used to view the condo Id, location number, unit number, owner number, first name and last name for the condo id “3”.

Expert Solution
Check Mark
Sample Output

Output:

3

1

306

AN175

Bill                    

Anderson                

Explanation of Solution

c.

Query to insert the value:

CREATE OR REPLACE PROCEDURE ADD_OWNER

(I_OWNER_NUM IN OWNER.OWNER_NUM%TYPE,

I_LAST_NAME IN OWNER.LAST_NAME%TYPE,

I_FIRST_NAME IN OWNER.FIRST_NAME%TYPE,

I_ADDRESS IN OWNER.ADDRESS%TYPE,

I_CITY IN OWNER.CITY%TYPE,

I_STATE IN OWNER.STATE%TYPE,

I_POSTAL_CODE IN OWNER.POSTAL_CODE%TYPE) AS

BEGIN

INSERT INTO OWNER (OWNER_NUM, LAST_NAME, FIRST_NAME, ADDRESS, CITY, STATE, POSTAL_CODE)

VALUES

(I_OWNER_NUM, I_LAST_NAME, I_FIRST_NAME, I_ADDRESS, I_CITY, I_STATE,

I_POSTAL_CODE);

END;

/

Explanation:

The above query is used to create a stored procedure named “ADD_OWNER” to insert the new record in the “OWNER” table. Once the stored procedure is created, it needs to be executed.

Query to execute the stored procedure:

BEGIN

  ADD_OWNER ('AZ245', 'William', 'John', '125 North St.', 'Mills', 'SC', 29707);

END;

After executing the above query, the new record is inserted into the table “OWNER”.

Expert Solution
Check Mark
Sample Output

Output:

Query to view the contents in “OWNER” table is as follows:

SELECT * FROM OWNER;

Screenshot of output

A Guide to SQL, Chapter 8, Problem 4SCG , additional homework tip  1

Explanation of Solution

d.

Query to update stored procedure:

CREATE OR REPLACE PROCEDURE CHG_OWNER

(I_OWNER_NUM IN OWNER.OWNER_NUM%TYPE,

I_LAST_NAME IN OWNER.LAST_NAME%TYPE) AS

BEGIN

UPDATE OWNER

SET LAST_NAME = I_LAST_NAME

WHERE OWNER_NUM = I_OWNER_NUM;

END;

/

Explanation:

The above query is used to create a stored procedure named “CHG_OWNER” to update the last name of the owner whose number is stored in “I_OWNER_NUM” to the value presently found in “I_OWNER_NUM”, it needs to be executed.

Query to execute the stored procedure:

BEGIN

CHG_OWNER ('AZ245', 'Andrew');

END;

After executing the above query, the last name is changed in the table “OWNER”.

Expert Solution
Check Mark
Sample Output

Output:

Query to view the contents in “OWNER” table is as follows:

SELECT * FROM OWNER;

Screenshot of output

A Guide to SQL, Chapter 8, Problem 4SCG , additional homework tip  2

Explanation of Solution

e.

Query to delete the value:

CREATE OR REPLACE PROCEDURE DELETE_OWNER

(I_OWNER_NUM IN OWNER.OWNER_NUM%TYPE) AS

BEGIN

DELETE

FROM OWNER

WHERE OWNER_NUM = I_OWNER_NUM;

END;

/

Explanation:

  • The above query is used to create a procedure named “DELETE_OWNER” to delete a record in the “OWNER” table.
  • Once the record is deleted, a procedure should create owner number as a parameter.
  • Once the stored procedure is created, it needs to be executed.

Query to execute the stored procedure:

BEGIN

        DELETE_OWNER ('AZ245');

END;

The above query is used to delete the order number AZ245.

Expert Solution
Check Mark
Sample Output

Output:

Query to view the contents in “OWNER” table after deleting the order number AZ245 as follows:

SELECT * FROM OWNER;

Screenshot of output

A Guide to SQL, Chapter 8, Problem 4SCG , additional homework tip  3

Want to see more full solutions like this?

Subscribe now to access step-by-step solutions to millions of textbook problems written by subject matter experts!
Students have asked these similar questions
A cylinder of diameter 10 cm rotates concentrically inside another hollow cylinder of inner diameter 10.1 cm. Both cylinders are 20 cm long and stand with their axis vertical. The annular space is filled with oil. If a torque of 100 kg cm is required to rotate the inner cylinder at 100 rpm, determine the viscosity of oil. Ans. μ= 29.82poise
Make the following game user friendly with GUI, with some simple graphics The following code works as this: The objective of the player is to escape from this labyrinth. The player starts at the bottom left corner of the labyrinth. He has to get to the top right corner of the labyrinth as fast he can, avoiding a meeting with the evil dragon. The player can move only in four directions: left, right, up or down. There are several escape paths in all labyrinths. The player’s character should be able to moved with the well known WASD keyboard buttons. If the dragon gets to a neighboring field of the player, then the player dies. Because it is dark in the labyrinth, the player can see only the neighboring fields at a distance of 3 units.  Cell Class: public class Cell { private boolean isWall; public Cell(boolean isWall) { this.isWall = isWall; } public boolean isWall() { return isWall; } public void setWall(boolean isWall) { this.isWall = isWall; } @Override public String toString() {…
Please original work What are four of the goals of information lifecycle management think they are most important to data warehousing, Why do you feel this way, how dashboards can be used in the process, and provide a real life example for each. Please cite in text references and add weblinks
Knowledge Booster
Background pattern image
Computer Science
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
SEE MORE QUESTIONS
Recommended textbooks for you
  • Text book image
    A Guide to SQL
    Computer Science
    ISBN:9781111527273
    Author:Philip J. Pratt
    Publisher:Course Technology Ptr
    Text book image
    Database Systems: Design, Implementation, & Manag...
    Computer Science
    ISBN:9781285196145
    Author:Steven, Steven Morris, Carlos Coronel, Carlos, Coronel, Carlos; Morris, Carlos Coronel and Steven Morris, Carlos Coronel; Steven Morris, Steven Morris; Carlos Coronel
    Publisher:Cengage Learning
Text book image
A Guide to SQL
Computer Science
ISBN:9781111527273
Author:Philip J. Pratt
Publisher:Course Technology Ptr
Text book image
Database Systems: Design, Implementation, & Manag...
Computer Science
ISBN:9781285196145
Author:Steven, Steven Morris, Carlos Coronel, Carlos, Coronel, Carlos; Morris, Carlos Coronel and Steven Morris, Carlos Coronel; Steven Morris, Steven Morris; Carlos Coronel
Publisher:Cengage Learning