Database Programming With PL/SQL 8-1: Practice Activities: Creating Procedures
Database Programming With PL/SQL 8-1: Practice Activities: Creating Procedures
Database Programming With PL/SQL 8-1: Practice Activities: Creating Procedures
com/academy
Try It / Solve It
1. What is the difference between the following two pieces of code?
CODE SAMPLE A
DECLARE v_empid
employees.employee_id%TYPE := 100;
v_percent_increase NUMBER(2,2) := .05;
BEGIN
UPDATE employees
SET salary = (salary * v_percent_increase) + salary WHERE
employee_id = v_empid;
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. Oracle and Java are registered trademarks of Oracle and/
respective owners.
2
END;
CODE SAMPLE B
4. The remaining questions in this practice use a copy of the employees table.
Create the copy by executing the following SQL statement:
A. Use the code below to create a procedure in Application Express. Save the
definition of your procedure in case you need to modify it later. In the “Save
SQL” popup, name your saved work “My name change procedure.”
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their
respective owners.
3
BEGIN name_change;
END;
C. SELECT from the table to check that the procedure has executed correctly and
performed the UPDATE.
5. Create a second procedure named pay_raise which changes the salary of all
employees in employees_dup to a new value of 30000. Execute the procedure
from an anonymous block, then SELECT from the table to check that the
procedure has executed correctly.
6. Retrieve your first name_change procedure by clicking on its name in the Saved
SQL window. Modify the code to remove OR REPLACE from the CREATE
statement, and introduce a deliberate error into the code, for example by
misspelling a keyword: UPDAT employees_dup. Execute your code to recreate
the procedure. What happens?
7. Now correct the procedure code by reinserting the OR REPLACE clause and
correcting your deliberate spelling error. Execute your code to recreate the
procedure. Now what happens?
Funciona
8. Create, save, and execute a procedure which updates the salary of employees in
employees_dup according to the following rules:
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their
respective owners.
4
You will need to include three UPDATE statements, one for each of the above
rules. In a later lesson you will learn how to avoid this. Execute your procedure
from an anonymous block and verify that the updates have been performed
correctly.
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their
respective owners.