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 5TD
Program Plan Intro

a.

Stored procedures:

  • A procedure is a collection of procedural and SQL statements.
  • A procedure may have input parameter, output parameter and both parameters.
  • It has a declared with a unique named 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_CUST_CRED (I_CUSTOMER_NUM IN CUSTOMER.CUSTOMER_NUM%TYPE) AS

I_CUSTOMER_NAME   CUSTOMER.CUSTOMER_NAME%TYPE;

I_CREDIT_LIMIT    CUSTOMER.CREDIT_LIMIT%TYPE;

BEGIN

SELECT CUSTOMER_NAME, CREDIT_LIMIT

INTO I_CUSTOMER_NAME, I_CREDIT_LIMIT

FROM CUSTOMER

WHERE CUSTOMER_NUM = I_CUSTOMER_NUM;

DBMS_OUTPUT.PUT_LINE (I_CUSTOMER_NAME);

DBMS_OUTPUT.PUT_LINE (I_CREDIT_LIMIT);

END;

/

Explanation:

  • The above query is used to create a procedure named “DISP_CUST_CRED” to select the records in the “CUSTOMER” table.
  • Change the “CUSTOMER_NUM” into “I_CUSTOMER_NUM” and place the “CUSTOMER_NAME” and “CREDIT_LIMIT” values into “I_CUSTOMER_NAME” and “I_CREDIT_LIMIT”.
  • After placing these values, display the “I_CUSTOMER_NAME” and “I_CREDIT_LIMIT” from the “CUSTOMER” table.
  • Once the stored procedure is created, it needs to be executed.

Query to view the customer name and credit limit:

BEGIN

DISP_CUST_CRED (126);

END;

The above query is used to view the customer name and credit limit for the number 126.

Sample Output

Output:

Toys Galore                       

7500

Explanation of Solution

b.

Query to create stored procedure:

CREATE OR REPLACE PROCEDURE DISP_ORDERS (I_ORDER_NUM ORDERS.ORDER_NUM%TYPE) AS

I_ORDER_DATE      ORDERS.ORDER_DATE%TYPE;

I_CUSTOMER_NUM    CUSTOMER.CUSTOMER_NUM%TYPE;

I_CUSTOMER_NAME   CUSTOMER.CUSTOMER_NAME%TYPE;

BEGIN

SELECT ORDER_DATE, CUSTOMER.CUSTOMER_NUM, CUSTOMER_NAME

INTO I_ORDER_DATE, I_CUSTOMER_NUM, I_CUSTOMER_NAME

FROM ORDERS, CUSTOMER

WHERE ORDERS.CUSTOMER_NUM = CUSTOMER.CUSTOMER_NUM

AND ORDER_NUM = I_ORDER_NUM;

DBMS_OUTPUT.PUT_LINE(I_ORDER_DATE);

DBMS_OUTPUT.PUT_LINE(I_CUSTOMER_NUM);

DBMS_OUTPUT.PUT_LINE(I_CUSTOMER_NAME);

END;

/

Explanation:

  • The above query is used to create a procedure named “DISP_ORDERS” to select the records in the “CUSTOMER” and “ORDERS” tables.
  • Change the “ORDER_NUM” into “I_ORDER_NUM” and place the “ORDER_DATE”, “CUSTOMER_NUM”, and “CUSTOMER_NAME” values into “I_ORDER_DATE”, “I_CUSTOMER_NUM”, and “I_CUSTOMER_NAME”.
  • After placing these values, display the “I_ORDER_DATE”, “I_CUSTOMER_NUM”, and “I_CUSTOMER_NAME” from the “CUSTOMER” and “ORDERS” tables.
  • Once the stored procedure is created, it needs to be executed.

Query to view the order date, customer name and customer number:

BEGIN

DISP_ORDERS (51608);

END;

The above query is used to view the order date, customer name and customer number for the number 51608.

Expert Solution
Check Mark
Sample Output

Output:

10/12/2015

126

Toys Galore

Explanation of Solution

c.

Query to insert the value:

CREATE OR REPLACE PROCEDURE ADD_ORDER

(I_ORDER_NUM IN ORDERS.ORDER_NUM%TYPE,

I_ORDER_DATE IN ORDERS.ORDER_DATE%TYPE,

I_CUSTOMER_NUM IN ORDERS.CUSTOMER_NUM%TYPE) AS

BEGIN

INSERT INTO ORDERS (ORDER_NUM, ORDER_DATE, CUSTOMER_NUM)

VALUES

(I_ORDER_NUM, I_ORDER_DATE, I_CUSTOMER_NUM);

END;

/

Explanation:

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

Query to execute the stored procedure:

BEGIN

        ADD_ORDER (51627,'10/16/2015', 334);

END;

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

Expert Solution
Check Mark
Sample Output

Output:

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

SELECT * FROM ORDERS;

Screenshot of output

A Guide to SQL, Chapter 8, Problem 5TD , additional homework tip  1

Explanation of Solution

d.

Query to update stored procedure:

CREATE OR REPLACE PROCEDURE UPDATE_ORDER_DATE

(I_ORDER_NUM IN ORDERS.ORDER_NUM%TYPE,

I_ORDER_DATE IN ORDERS.ORDER_DATE%TYPE) AS

BEGIN

UPDATE ORDERS

SET ORDER_DATE = I_ORDER_DATE

WHERE ORDER_NUM = I_ORDER_NUM;

END;

/

Explanation:

The above query is used to create a stored procedure named “UPDATE_ORDER_DATE” to update the date of the order whose number is stored in “I_ORDER_DATE” to the date presently found in “I_ORDER_DATE”, it needs to be executed.

Executing the stored procedure:

The Content of “ORDERS” table before creating the procedure is given below:

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

SELECT*FROM ORDERS;

Screenshot of output

A Guide to SQL, Chapter 8, Problem 5TD , additional homework tip  2

Query to execute the stored procedure:

BEGIN

UPDATE_ORDER_DATE (51614, '02/12/2019');

END;

/

After executing the above query, the date is changed in the table “ORDERS”.

Expert Solution
Check Mark
Sample Output

Output:

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

SELECT * FROM ORDERS;

Screenshot of output

A Guide to SQL, Chapter 8, Problem 5TD , additional homework tip  3

Explanation of Solution

e.

Query to delete the value:

CREATE OR REPLACE PROCEDURE DELETE_ORDERS

(I_ORDER_NUM  ORDERS.ORDER_NUM%TYPE) AS

BEGIN

DELETE

FROM ORDERS

WHERE ORDER_NUM = I_ORDER_NUM;

END;

/

Explanation:

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

Executing the stored procedure:

The Content of “ORDERS” table before creating the procedure is given below:

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

SELECT * FROM ORDERS;

Screenshot of output

A Guide to SQL, Chapter 8, Problem 5TD , additional homework tip  4

Query to execute the stored procedure:

BEGIN

        DELETE_ORDERS (51613);

END;

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

Expert Solution
Check Mark
Sample Output

Output:

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

SELECT * FROM ORDERS;

Screenshot of output

A Guide to SQL, Chapter 8, Problem 5TD , additional homework tip  5

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
SQL Database   Write PL/SQL or T-SQL procedures to accomplish the following tasks: Obtain the first name and last name, separated by a space, of the guide whose number currently is stored in I_GUIDE_NUM. Place these values in the variables I_FIRST_NAME and I_LAST_NAME. Output the contents of I_GUIDE_NUM, I_FIRST_NAME, and I_ LAST_NAME.  Obtain the number of persons, customer number, and customer last name for every reservation whose ID currently is stored in I_RESERVATION_ID. Place these values in the variables I_NUM_PERSONS, I_CUSTOMER_NUM, and I_LAST_NAME, respectively. Output the contents of I_NUM_PERSONS, I_CUSTOMER_NUM, and I_LAST_NAME. Add a row to the GUIDE table. Change the last name of the guide whose number is stored in I_GUIDE_NUM to the value currently found in I_LAST_NAME. Delete the guide whose number is stored in I_GUIDE_NUM
Write PL/SQL or T-SQL procedures to accomplish the following tasks: A: obtain the name and credit limit of the customer whose number currently is stored in I_CUSTOMER_NUM. Place these valuse in the variables I_CUSTOMER_NAME and I_CREDIT_LIMIT, respectively. Output the content of I_CUSTOMER_NAME and I_CREDIT_LIMIT. B: obtain the order date, customer number and name for the order whose number currently is stored in I_ORDER_NUM. place these values in the variables I_ORDER_DATE, I_CUSTOMER_NUM and I_CUSTOMER_NAME , respectively. output the contents of I_ORDER_DATE, I_CUSTOMER_NUM , and I_CUSTOMER_NAME. C: add a row to the ORDERS table. D: change the date of the whole number is stored in I_ORDER_DATE to the date currently found in I_ORDER_DATE. E: delete the order whose number is stored in I_ORDER_NUM.
T-SQL procedure SQL SERVER ONLY A: obtain the name and credit limit of the customer whose number currently is stored in I_CUSTOMER_NUM. Place these valuse in the variables I_CUSTOMER_NAME and I_CREDIT_LIMIT, respectively. Output the content of I_CUSTOMER_NAME and I_CREDIT_LIMIT.
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