0% found this document useful (0 votes)
573 views23 pages

Prog 113 Answer 2nd Quarter

The document contains questions and answers related to Oracle database programming concepts like SQL, PL/SQL, subqueries, exceptions, and interacting with the Oracle server. It includes multiple choice questions from learning activities and quizzes covering topics such as: - The basic structure of PL/SQL blocks and use of exceptions - Using subqueries in SQL statements - Inserting, updating, and deleting data using PL/SQL - Handling exceptions in PL/SQL code
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
573 views23 pages

Prog 113 Answer 2nd Quarter

The document contains questions and answers related to Oracle database programming concepts like SQL, PL/SQL, subqueries, exceptions, and interacting with the Oracle server. It includes multiple choice questions from learning activities and quizzes covering topics such as: - The basic structure of PL/SQL blocks and use of exceptions - Using subqueries in SQL statements - Inserting, updating, and deleting data using PL/SQL - Handling exceptions in PL/SQL code
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 23

PROG-113 - Programming (Oracle Database) Parts 1, 2 and 3

(2nd Quarter)

PROG-113A / ► Week 11: Using Subqueries to Solve Queries / ► Learning Activity 9

Which of the following is INCORRECT?


Answer: Use single-row operators with multiple-row subqueries

Which of the folllowing is required in a subquery?


Answer: SELECT

Which of the following is CORRECT about sub-queries?


Answer: Subquery execute before the main query executes.

Evaluate the SQL Command


SELECT job_id, job_title FROM jobs J WHERE INCLUDES
(SELECT * FROM employees WHERE J.job_id = e.job_id );
Answer: The SQL will return an error. Invalid "INCLUDES" parameter.

Evaluate the SQL command


SELECT employee_id, salary from employees where salary = ANY (SELECT salary FROM employees
WHERE job_id = 'IT_PROG') AND job_id = 'ST_CLERK'
Answer: This has no error.

PROG-113A / ► Week 11: Using Subqueries to Solve Queries / ► Short Quiz 9

You want to display the department name the same with the location of the Purchasing department.
Answer: SELECT department_name from departments where location_id = (SELECT location_id from
departments where department_name = 'Purchasing')

Evaluate the SQL command


SELECT employee_id, job_id, salary from employees where salary < ALL (SELECT salary FROM employees
WHERE job_id = 'FI_ACCOUNT') AND job_id = 'IT_PROG'
Answer: This has no error.

You want to display all records in the database whose salary is above the salary of Alexander Hunold.
Answer: SELECT * from employees WHERE salary < (SELECT salary FROM employees WHERE
first_name = 'Alexander' AND last_name = 'Hunold')

Evaluate the SQL command


SELECT employee_id, last_name, first_name, job_id FROM employees WHERE department_id = (SELECT
max(department_id) FROM employees GROUP BY department_id)
Answer: This will return an error. Single-row subquery returns more than one row.

You want to display all employee id, name, hired date and salary who are hired after employee 104 was
hired.
Answer: SELECT employee_id, last_name, hire_date, salary FROM employees WHERE
TO_NUMBER(TO_CHAR(hire_date, 'YYYY')) >
(SELECT TO_NUMBER(TO_CHAR(hire_date, 'YYYY')) FROM employees WHERE employee_id = 104)

PROG-113A / ► Week 12: Introduction to PLSQL / ► Learning Activity 10

PL/SQL stands for


Answer: Procedural Language extension to SQL

PL/SQL Provides a block structure for executable units of ________________.


Answer: Code

In PL/SQL Block Structure, which of the following are mandatory?


Answer: BEGIN and END

Which of the following PL/SQL will execute successfully?


Answer: DECLARE
v_salary INTEGER(20);
BEGIN
SELECT salary INTO v_salary FROM employees WHERE employee_id = 150;
END;

Actions are being performed when error occurs during PL/SQL execution in the
Answer: EXCEPTION

PROG-113A / ► Week 12: Introduction to PLSQL / ► Short Quiz 10

Which of the folllowing is TRUE?


Answer: SQL code are embedded withing PL/SQL statements

In the DECLARE section of the PL/SQL block


Answer: All of the choices

In PL/SQL Block Structure, which of the following are OPTIONAL?


Answer: None of the choices
What are the three PL/SQL block types?
Answer: Anonymous, Procedure, Function

How do you test the output of a PL/SQL block?


Answer: Use a predefined Oracle package and its procedure

You want to display the name, salary and tax of employee #150. Which of the PL/SQL will execute
successfully? Note tax is computed as 2% of the salary.
Answer: DECLARE
v_first_name VARCHAR2(50);
v_last_name VARCHAR2(50);
v_salary INTEGER(20);
v_tax INTEGER(10);
BEGIN
SELECT first_name, last_name, salary, salary * 0.02 INTO v_first_name, v_last_name, v_salary, v_tax
FROM employees WHERE employee_id = 150;
DBMS_OUTPUT.PUT_LINE('Firstname : '|| v_first_name);
DBMS_OUTPUT.PUT_LINE('Lastname : '|| v_last_name);
DBMS_OUTPUT.PUT_LINE('Salary : '|| v_salary);
DBMS_OUTPUT.PUT_LINE('Tax : '|| v_tax);
END;

Which of the folllowing statement describes PL/SQL?


Answer: PL/SQL is an Oracle proprietary, procedural, 3GL programming language

PROG-113A / ► Week 13: Interacting with Oracle Server / ► Learning Activity 11

Which of the following does NOT describes SELECT Statement in a PL/SQL.


Answer: Queries must return only one column.

Evaluate the following PL/SQL.


1 DECLARE
2 v_employee_id employees.employee_id%TYPE := 114;
3 BEGIN
4 DELETE employees WHERE employee_id = v_employee_id;
5 END;
Answer: The PL/SQL will delete employee number 114.

Which of the following PL/SQL that will display the total number employees whose salary is 10000 and
above?
Answer: DECLARE
v_salary employees.salary%TYPE := 10000;
BEGIN
SELECT COUNT(*) INTO v_salary FROM employees WHERE salary >= v_salary;
DBMS_OUTPUT.PUT_LINE(v_salary);
END;

This is a type of cursor which is created and managed internally by the Oracle server to process SQL
statements
Answer: Implicit

You have been tasked to update the database by creating a PL/SQL to increase the salary of all IT
Programmer employees by twice of their existing salary. Which of the following will execute
successfully?
Answer: DECLARE
v_job_id employees.job_id%TYPE := 'IT_PROG';
BEGIN
UPDATE employees SET salary = salary * 2 WHERE job_id = v_job_id;
END;

PROG-113A / ► Week 13: Interacting with Oracle Server / ► Short Quiz 11

Evaluate the folllowing PL/SQL


1. DECLARE
2. v_job_id employees.job_id%TYPE := 'IT_PROG';
3. v_last_name employees.last_name%TYPE := 'Lim';
4. v_first_name employees.first_name%TYPE := 'Steven';
5. BEGIN
6. INSERT INTO employees (employee_id, last_name, first_name, email, hire_date, job_id, salary)
7. VALUES (employees_seq.NEXTVAL, v_last_name, v_first_name, v_last_name||
v_first_name||'@gmail.com', CURRENT_DATE, v_job_id, 63000);
8. END;
Answer: No Error.

Evaluate the following PL/SQL.


1 DECLARE
2 v_employee_id employees.employee_id%TYPE := 114;
3 BEGIN
4 DELETE employees WHERE employee_id = v_employee_id;
5 END;
Answer: The PL/SQL will delete employee number 114.

You have been tasked to update the database by creating a PL/SQL to increase the salary of all IT
Programmer employees by 50% of their existing salary.
Which of the following will execute successfully?
Answer: DECLARE
v_job_id employees.job_id%TYPE := 'IT_PROG';
BEGIN
UPDATE employees SET salary = salary *0.50 WHERE job_id = v_job_id;
END;

You want to know the total number of employees whose firstname starts with letter D.
Which of the folllowing PLS/SQL executes successfully?
Answer: DECLARE
v_first_name employees.first_name%TYPE := 'D%';
BEGIN
SELECT COUNT(*) INTO v_first_name FROM employees WHERE first_name LIKE v_first_name;
DBMS_OUTPUT.PUT_LINE(v_first_name);
END;

Evaluate the PL/SQL


1. DECLARE
2. v_first_name VARCHAR2(50);
3. v_last_name VARCHAR2(50);
4. v_salary INTEGER(20);
5. BEGIN
6. SELECT first_name, last_name, salary INTO v_first_name, v_last_name, v_salary FROM employees
WHERE department_id = 60;
7. DBMS_OUTPUT.PUT_LINE('Firstname : '|| v_first_name);
8. DBMS_OUTPUT.PUT_LINE('Lastname : '|| v_last_name);
9. DBMS_OUTPUT.PUT_LINE('Salary : '|| v_salary);
10. END;
Answer: Error in Line 6.

PROG-113A / ► Week 14: Handling Exceptions / ► Learning Activity 12

You can use this procedure to issue user-defined error messages from stored subprograms.
Answer: RAISE_APPLICATION_ERROR

Which of the following syntax to declare EXCEPTION named e_invalid_id?


Answer: e_invalid_id EXCEPTION;

When an exception is predefined by Oracle server, the exception is raised ____________ .


Answer: Explicitly
When an exception is user defined, the exception is raised ____________ .
Answer: Explicitly

You can trap any error by including a corresponding handler within the exception-handling section of the
PL/SQL block.
Answer: True

PROG-113A / ► Week 14: Handling Exceptions / ► Short Quiz 12

Evaluate the following PL/SQL.


DECLARE
v_email VARCHAR(20);
BEGIN
SELECT email INTO v_email FROM EMPLOYEES WHERE email like 'D%';
DBMS_OUTPUT.PUT_LINE ('Employees whose email address starts with letter D :'
|| v_email);
EXCEPTION
WHEN TOO_MANY_ROWS THEN
DBMS_OUTPUT.PUT_LINE (' Your select statement retrieved multiple rows.');
END;
Answer: The PL/SQL block will run successfully.

Which of the following DOES NOT describes an exception?


Answer: Exception is a PL/SQL error that is raised before program execution.

What is the exception name when single row SELECT returned no data.
Answer: NO_DATA_FOUND

RAISE_APPLICATION_ERROR is used in two different places. These are ___________________.


Answer: Executable and exceptions section

What is the error trapping function that returns the numeric value of the error code?
Answer: SQLCODE

What is the exception name when PL/SQL has an internal problem


Answer: PROGRAM_ERROR

Evaluate the following PL/SQL. At what line number is the error of the PL/SQL?
DECLARE
v_deptno NUMBER := 800;
e_invalid EXCEPTION;
BEGIN
DELETE FROM departments
WHERE department_id = v_deptno;
IF SQL % NOT_FOUND THEN
RAISE e_invalid;
END IF;
COMMIT;
EXCEPTION
WHEN e_invalid THEN
DBMS_OUTPUT.PUT_LINE('No such department id.');
END;
Answer: 7

What is the last clause in trapping exceptions?


Answer: WHEN OTHERS

Complete the diagram in Trapping Non-Predefined Oracle


Server Errors.

Answer: Declare, Associate, Reference

PROG-113A / ► Week 15: Long Quiz / ► Long Quiz 3

How do you test the output of a PL/SQL block?


Answer: Use a predefined Oracle package and its procedure

Which of the folllowing statement describes PL/SQL?


Answer: PL/SQL is an Oracle proprietary, procedural, 3GL programming language

Which of the following syntax to declare EXCEPTION named e_invalid_id?


Answer: e_invalid_id EXCEPTION;

In PL/SQL Block Structure, which of the following are mandatory?


Answer: BEGIN and END

This is a type of cursor which is created and managed internally by the Oracle server to process SQL
statements
Answer: Implicit
PL/SQL stands for
Answer: Procedural Language extension to SQL

Which of the following PL/SQL will execute successfully?


Answer: DECLARE
v_salary INTEGER(20);
BEGIN
SELECT salary INTO v_salary FROM employees WHERE employee_id = 150;
END;

What is the last clause in trapping exceptions?


Answer: WHEN OTHERS

PL/SQL Provides a block structure for executable units of ________________.


Answer: Code

Evaluate the following PL/SQL.


DECLARE
v_email VARCHAR(20);
BEGIN
SELECT email INTO v_email FROM EMPLOYEES WHERE email like 'D%';
DBMS_OUTPUT.PUT_LINE ('Employees whose email address starts with letter D :'
|| v_email);
EXCEPTION
WHEN TOO_MANY_ROWS THEN
DBMS_OUTPUT.PUT_LINE (' Your select statement retrieved multiple rows.');
END;
Answer: The PL/SQL block will run successfully.

Which of the folllowing is TRUE?


Answer: SQL code are embedded within PL/SQL statements

You can trap any error by including a corresponding handler within the exception-handling section of the
PL/SQL block.
Answer: True

When an exception is user defined, the exception is raised ____________ .


Answer: Explicitly

Evaluate the PL/SQL


DECLARE
v_first_name VARCHAR2(50);
v_last_name VARCHAR2(50);
v_salary INTEGER(20);
BEGIN
SELECT first_name, last_name, salary INTO v_first_name, v_last_name, v_salary FROM employees
WHERE department_id = 60;
DBMS_OUTPUT.PUT_LINE('Firstname : '|| v_first_name);
DBMS_OUTPUT.PUT_LINE('Lastname : '|| v_last_name);
DBMS_OUTPUT.PUT_LINE('Salary : '|| v_salary);
END;
Answer: Error in Line 6.

Evaluate the following PL/SQL.


DECLARE
v_employee_id employees.employee_id%TYPE := 114;
BEGIN
DELETE employees WHERE employee_id = v_employee_id;
END;
Answer: The PL/SQL will delete employee number 114.

Which of the following does NOT describes SELECT Statement in a PL/SQL.


Answer: Queries must return only one column.

What are the three PL/SQL block types?


Answer: Anonymous, Procedure, Function

What is the exception name when PL/SQL has an internal problem


Answer: PROGRAM_ERROR

You have been tasked to update the database by creating a PL/SQL to increase the salary of all IT
Programmer employees by 100% of their existing salary. Which of the following will execute
successfully?
Answer: DECLARE
v_job_id employees.job_id%TYPE := 'IT_PROG';
BEGIN
UPDATE employees SET salary = salary * 2 WHERE job_id = v_job_id;
END;

What is the error trapping function that returns the numeric value of the error code?
Answer: SQLCODE

What is the exception name when single row SELECT returned no data.
Answer: NO_DATA_FOUND

Which of the following DOES NOT describes an exception?


Answer: Exception is a PL/SQL error that is raised before program execution.
Evaluate the following PL/SQL.
DECLARE
v_employee_id employees.employee_id%TYPE := 114;
BEGIN
DELETE employees WHERE employee_id = v_employee_id;
END;
Answer: The PL/SQL will delete employee number 114.

In the DECLARE section of the PL/SQL block,


Answer: All of the choices

When an exception is predefined by Oracle server, the exception is raised ____________ .


Answer: Explicitly

Which of the will display the Employee ID and number of years in service with employee ID 150?
Answer: DECLARE
v_salaryemployees.salary%TYPE := 10000;
v_employee_idemployees.employee_id%TYPE := 150;
v_years INTEGER(10);
BEGIN
SELECT employee_id, ROUND((SYSDATE - hire_date) /365,0) INTO v_employee_id, v_years FROM
employees WHERE employee_id = v_employee_id ;
DBMS_OUTPUT.PUT_LINE('Employee ID:' || v_employee_id);
DBMS_OUTPUT.PUT_LINE('Number of years : ' || v_years);
END;

Actions are being performed when error occurs during PL/SQL execution in the
Answer: EXCEPTION

You can use this procedure to issue user-defined error messages from stored subprograms.
Answer: RAISE_APPLICATION_ERROR

PROG-113A / ► Week 16: Creating Procedures / ► Learning Activity 13

Procedure can be stored in the database as a schema object.


Answer: True

The PL/SQL code block helps modularize code by using:


Answer: All of the choices

Which of the following command is used to create a stand-alone procedure that is stored in the Oracle
database?
Answer: CREATE PROCEDURE
Which of the folllowing does NOT describes subprogram?
i. Compiled only once
ii. Stored in the database
iii. Do not return values
iv. Can take parameters
v. Unnamed PL/SQL blocks
Answer: iii & v

Which if the following is NOT a benefits of using modular program constructs?


Answer: None of the choices

PROG-113A / ► Week 17: / ► Short Quiz 13

Evaluate the following PL/SQL.


CREATE OR REPLACE PROCEDURE query_employee
(p_id IN employees.employee_id%TYPE,
p_name OUT employees.last_name%TYPE,
p_salary OUT employees.salary%TYPE) IS
BEGIN SELECT last_name, salary INTO p_name, p_salary
FROM employeesWHERE employee_id = p_id;
END query_employee
Answer: No error

Evaluate the following PL/SQL. Which of the following will line creates an error?
CREATE OR REPLACE PROCEDURE query_emp
(
p_department_id IN employees.department_id%TYPE,
p_name OUT employees.last_name%TYPE,
p_salary OUT employees.salary%TYPE
)
IS
BEGIN
SELECT last_name, salary, department_id INTO p_name, p_salary, p_department_id
FROM employees
WHERE salary >= p_salary AND department_id = p_department_id ;
END query_emp;
Answer: Line 3

These are local variables declared in the parameter list of a subprogram specification.
Answer: Formal parameter

Given the answer in item __________, which of the folllowing stored procedure will display the
employee id and salary of Steven King?
Answer: DECLARE
v_employee_id employees.employee_id%TYPE;
v_emp_sal employees.salary%TYPE;
BEGIN
query_emp('King', 'Steven', v_employee_id, v_emp_sal); DBMS_OUTPUT.PUT_LINE('Employee ID ' ||
v_employee_id ||' earns '|| to_char(v_emp_sal, '$999,999.00'));

END;

Which of the following stored procedure to create a procedure to that will be used to display the
employee id and salary of Steven King?
Answer: CREATE OR REPLACE PROCEDURE query_emp
(p_last_name IN employees.last_name%TYPE,
p_first_name IN employees.first_name%TYPE,
p_employee_id OUT employees.employee_id%TYPE,
p_salary OUT employees.salary%TYPE) IS
BEGIN
SELECT employee_id, salary INTO p_employee_id, p_salary
FROM employees
WHERE last_name = p_last_name AND first_name = p_first_name;
END query_emp;

What is the default parameter mode when no mode is specified?


Answer: IN

PROG-113A / ► Week 18: Designing PL/SQL / ► Learning Activity 14

Which of the following rules is INCORRECT about cursor variables?


Answer: None of the choices.

Which of the following describes weak REF CURSOR?


Answer: Associates with any query

Restrictive, specifies a RETURN type, associates only with type-compatible queries are description of a
________________.
Answer: Strong REF CURSOR

Which of the following is INCORRECT about the guidelines for cursor design?
Answer: Use column aliases in cursors for calculated columns fetched into records declared with
%COLUMNTYPE.

This is a subset of an existing data type that may place a constraint on its base type.
Answer: Subtype
PROG-113A / ► Week 18: Designing PL/SQL / ► Short Quiz 14

Which of the following is the syntax to open a cursor varial


Answer: OPEN cursor_variable_name
FOR select_statement;

Which of the following is the syntax to define a REF CURSOR type?


Answer: TYPE ref_type_name IS REF CURSOR
[RETURN return_type];

Weak REF CURSOR is very flexible.


Answer: True

Evaluate the following. What will be the output?


DECLARE
SUBTYPE Accumulator IS NUMBER (4,2);
v_amount accumulator;
v_num1 NUMBER;
v_num2 NUMBER;
v_num3 NUMBER;
BEGIN
v_amount := 10.50;
v_num1 := 1;
v_num2 := 2;
v_num3 := 3;
v_num1 := v_amount;
v_num2 := v_num1 + v_amount;
v_num2 := v_num2 - v_num3;
dbms_output.put_line('Total is: ' || v_num2);
END;
Answer: 18

Which of the following is the syntax to fetch from a cursor variable?


Answer: FETCH cursor_variable_name INTO variable_name1
[,variable_name2,. . .] | record_name;

Fetch into a record when fetching from a cursor.


Answer: True

Which of the following is the syntax to close a cursor?


Answer: CLOSE cursor_variable_name;
This is a subset of an existing data type that may place a constraint on its base type.
Answer: Subtype

Which of the following rules is INCORRECT about cursor variables?


Answer: None of the choices.

Use column aliases in cursors for calculated columns fetched into records declared with %COLUMNTYPE.
Answer: False

PROG-113A / ► Week 19: Long Quiz / ► Long Quiz 4

What is the default parameter mode when no mode is specified?


Answer: IN

Which of the folllowing is TRUE?


Answer: SQL code are embedded within PL/SQL statements

Evaluate the following PL/SQL.


DECLARE
v_employee_id employees.employee_id%TYPE := 114;
BEGIN
DELETE employees WHERE employee_id = v_employee_id;
END;
Answer: The PL/SQL will delete employee number 114.

Which of the following is the syntax to define a REF CURSOR type?


Answer: TYPE ref_type_name IS REF CURSOR
[RETURN return_type];

Procedure can be stored in the database as a schema object.


Answer: True

Which of the following rules is INCORRECT about cursor variables?


Answer: None of the choices.

Evaluate the following PL/SQL.


CREATE OR REPLACE PROCEDURE query_employee
(p_id IN employees.employee_id%TYPE,
p_name OUT employees.last_name%TYPE,
p_salary OUT employees.salary%TYPE) IS
BEGIN SELECT last_name, salary INTO p_name, p_salary
FROM employeesWHERE employee_id = p_id;
END query_employee
Answer: No error
Restrictive, specifies a RETURN type, associates only with type-compatible queries are description of a
________________.
Answer: Strong REF CURSOR

Which of the following is the syntax to fetch from a cursor variable?


Answer: FETCH cursor_variable_name INTO variable_name1
[,variable_name2,. . .] | record_name;

When an exception is user defined, the exception is raised ____________ .


Answer: Explicitly

You have been tasked to update the database by creating a PL/SQL to increase the salary of all IT
Programmer employees by 100% of their existing salary. Which of the following will execute
successfully?
Answer: DECLARE
v_job_id employees.job_id%TYPE := 'IT_PROG';
BEGIN
UPDATE employees SET salary = salary * 2 WHERE job_id = v_job_id;
END;

Evaluate the following. What will be the output?


DECLARE
SUBTYPE Accumulator IS NUMBER (4,2);
v_amount accumulator;
v_num1 NUMBER;
v_num2 NUMBER;
v_num3 NUMBER;
BEGIN
v_amount := 10.50;
v_num1 := 1;
v_num2 := 2;
v_num3 := 3;
v_num1 := v_amount;
v_num2 := v_num1 + v_amount;
v_num2 := v_num2 - v_num3;
dbms_output.put_line('Total is: ' || v_num2);
END;
Answer: 18

The PL/SQL code block helps modularize code by using:


Answer: All of the choices

Which of the following rules is INCORRECT about cursor variables?


Answer: None of the choices.
Which of the following is INCORRECT about the guidelines for cursor design?
Answer: Use column aliases in cursors for calculated columns fetched into records declared with
%COLUMNTYPE.

Which of the following is the syntax to open a cursor varial


Answer: OPEN cursor_variable_name
FOR select_statement;

Given the answer in item __________, which of the folllowing stored procedure will display the
employee id and salary of Steven King?
Answer: DECLARE
v_employee_id employees.employee_id%TYPE;
v_emp_sal employees.salary%TYPE;
BEGIN
query_emp('King', 'Steven', v_employee_id, v_emp_sal);
DBMS_OUTPUT.PUT_LINE('Employee ID ' || v_employee_id ||' earns '|| to_char(v_emp_sal,
'$999,999.00'));
END;

Which of the following syntax to declare EXCEPTION named e_invalid_id?


Answer: e_invalid_id EXCEPTION;

Which of the following PL/SQL will execute successfully?


Answer: DECLARE
v_salary INTEGER(20);
BEGIN
SELECT salary INTO v_salary FROM employees WHERE employee_id = 150;
END;

In the DECLARE section of the PL/SQL block,


Answer: All of the choices

Which of the following is the syntax to close a cursor?


Answer: CLOSE cursor_variable_name;

Which if the following is NOT a benefits of using modular program constructs?


Answer: None of the choices

Evaluate the following PL/SQL. Which of the following will line creates an error?
CREATE OR REPLACE PROCEDURE query_emp
(
p_department_id IN employees.department_id%TYPE,
p_name OUT employees.last_name%TYPE,
p_salary OUT employees.salary%TYPE
)
IS
BEGIN
SELECT last_name, salary, department_id INTO p_name, p_salary, p_department_id
FROM employees
WHERE salary >= p_salary AND department_id = p_department_id ;
END query_emp;
Answer: Line 3

Which of the following command is used to create a stand-alone procedure that is stored in the Oracle
database?
Answer: CREATE PROCEDURE

What is the last clause in trapping exceptions?


Answer: WHEN OTHERS

What are the three PL/SQL block types?


Answer: Anonymous, Procedure, Function

What is the exception name when PL/SQL has an internal problem


Answer: PROGRAM_ERROR

Weak REF CURSOR is very flexible.


Answer: True

PROG-113A / ► Week 20: Second Quarter Exam / ► Second Quarter Exam

Which of the following does NOT describes SELECT Statement in a PL/SQL.


Answer: Queries must return only one column.

You want to display all the records of employee the same with the salary employee number 103.
Answer: SELECT * FROM employees WHERE salary = (SELECT salary from employees where
employee_id= 103)

Which of the following stored procedure to create a procedure to that will be used to display the
employee id and salary of Steven King?
Answer: CREATE OR REPLACE PROCEDURE query_emp
(p_last_name IN employees.last_name%TYPE,
p_first_name IN employees.first_name%TYPE,
p_employee_id OUT employees.employee_id%TYPE,
p_salary OUT employees.salary%TYPE) IS
BEGIN
SELECT employee_id, salary INTO p_employee_id, p_salary
FROM employees
WHERE last_name = p_last_name AND first_name = p_first_name;
END query_emp;

Which of the folllowing is TRUE?


Answer: SQL code are embedded within PL/SQL statements

When an exception is user defined, the exception is raised ____________ .|


Answer: Explicitly

Which of the folllowing is TRUE?


Answer: SQL code are embedded withing PL/SQL statements

Weak REF CURSOR is very flexible.


Answer: True

How do you test the output of a PL/SQL block?


Answer: Use a predefined Oracle package and its procedure

Restrictive, specifies a RETURN type, associates only with type-compatible queries are description of a
________________.
Answer: Strong REF CURSOR

Which of the following DOES NOT describes an exception?


Answer: Exception is a PL/SQL error that is raised before program execution.

These are local variables declared in the parameter list of a subprogram specification.
Answer: Formal parameter

Which of the following rules is INCORRECT about cursor variables?


Answer: None of the choices.

When an exception is predefined by Oracle server, the exception is raised ____________ .


Answer: Explicitly

Which of the following DOES NOT describes an exception?


Answer: Exception is a PL/SQL error that is raised before program execution.

Evaluate the following PL/SQL.


CREATE OR REPLACE PROCEDURE query_employee
(p_id IN employees.employee_id%TYPE,
p_name OUT employees.last_name%TYPE,
p_salary OUT employees.salary%TYPE) IS
BEGIN SELECT last_name, salary INTO p_name, p_salary
FROM employeesWHERE employee_id = p_id;
END query_employee
Answer: No error

You want to know the total number of employees whose firstname starts with letter D.
Which of the folllowing PLS/SQL executes successfully?
Answer: DECLARE
v_first_name employees.first_name%TYPE := 'D%';
BEGIN
SELECT COUNT(*) INTO v_first_name FROM employees WHERE first_name LIKE v_first_name;
DBMS_OUTPUT.PUT_LINE(v_first_name);
END;

What is the error trapping function that returns the numeric value of the error code?
Answer: SQLCODE

You want to display the name, salary and tax of employee #150. Which of the PL/SQL will execute
successfully? Note tax is computed as 2% of the salary.
Answer: DECLARE
v_first_name VARCHAR2(50);
v_last_name VARCHAR2(50);
v_salary INTEGER(20);
v_tax INTEGER(10);
BEGIN
SELECT first_name, last_name, salary, salary * 0.02 INTO v_first_name, v_last_name, v_salary, v_tax
FROM employees WHERE employee_id = 150;
DBMS_OUTPUT.PUT_LINE('Firstname : '|| v_first_name);
DBMS_OUTPUT.PUT_LINE('Lastname : '|| v_last_name);
DBMS_OUTPUT.PUT_LINE('Salary : '|| v_salary);
DBMS_OUTPUT.PUT_LINE('Tax : '|| v_tax);
END;

Which of the following is the syntax to close a cursor?


Answer: CLOSE cursor_variable_name;

Which of the following rules is INCORRECT about cursor variables?


Answer: None of the choices.

What are the three PL/SQL block types?


Answer: Anonymous, Procedure, Function

You can trap any error by including a corresponding handler within the exception-handling section of the
PL/SQL block.
Answer: True
Which of the following describes weak REF CURSOR?
Answer: Associates with any query

Given the answer in item __________, which of the folllowing stored procedure will display the
employee id and salary of Steven King?
Answer: DECLARE
v_employee_id employees.employee_id%TYPE;
v_emp_sal employees.salary%TYPE;
BEGIN
query_emp('King', 'Steven', v_employee_id, v_emp_sal);
DBMS_OUTPUT.PUT_LINE('Employee ID ' || v_employee_id ||' earns '|| to_char(v_emp_sal,
'$999,999.00'));
END;

You have been tasked to update the database by creating a PL/SQL to increase the salary of all IT
Programmer employees by 50% of their existing salary.
Which of the following will execute successfully?
Answer: DECLARE
v_job_id employees.job_id%TYPE := 'IT_PROG';
BEGIN
UPDATE employees SET salary = salary *0.50 WHERE job_id = v_job_id;
END;

Which of the folllowing is required in a subquery?


Answer: SELECT

What is the exception name when PL/SQL has an internal problem


Answer: PROGRAM_ERROR

In the DECLARE section of the PL/SQL block,


Answer: All of the choices

Actions are being performed when error occurs during PL/SQL execution in the
Answer: EXCEPTION

What is the exception name when PL/SQL has an internal problem


Answer: PROGRAM_ERROR

Which of the folllowing statement describes PL/SQL?


Answer: PL/SQL is an Oracle proprietary, procedural, 3GL programming language

Evaluate the following PL/SQL.


DECLARE
v_employee_id employees.employee_id%TYPE := 114;
BEGIN
DELETE employees WHERE employee_id = v_employee_id;
END;
Answer: The PL/SQL will delete employee number 114.

Which of the following command is used to create a stand-alone procedure that is stored in the Oracle
database?
Answer: CREATE PROCEDURE

Evaluate the following PL/SQL.


DECLARE
v_email VARCHAR(20);
BEGIN
SELECT email INTO v_email FROM EMPLOYEES WHERE email like 'D%';
DBMS_OUTPUT.PUT_LINE ('Employees whose email address starts with letter D :'
|| v_email);
EXCEPTION
WHEN TOO_MANY_ROWS THEN
DBMS_OUTPUT.PUT_LINE (' Your select statement retrieved multiple rows.');
END;
Answer: The PL/SQL block will run successfully.

Which of the following is the syntax to define a REF CURSOR type?


Answer: TYPE ref_type_name IS REF CURSOR
[RETURN return_type];

The PL/SQL code block helps modularize code by using:


Answer: All of the choices

Which of the following is the syntax to fetch from a cursor variable?


Answer: FETCH cursor_variable_name INTO variable_name1
[,variable_name2,. . .] | record_name;

You want to display all records in the database whose salary is above the salary of Alexander Hunold.
Answer: SELECT * from employees WHERE salary < (SELECT salary FROM employees WHERE
first_name = 'Alexander' AND last_name = 'Hunold')

Procedure can be stored in the database as a schema object.


Answer: True

In PL/SQL Block Structure, which of the following are mandatory?


Answer: BEGIN and END

PL/SQL stands for


Answer: Procedural Language extension to SQL
Which of the following is CORRECT about sub-queries?
Answer: Subquery execute before the main query executes.

Which of the following does NOT describes SELECT Statement in a PL/SQL.


Answer: Queries must return only one column.

PL/SQL Provides a block structure for executable units of ________________.


Answer: Code

Evaluate the SQL command


SELECT employee_id, salary from employees where salary = ANY (SELECT salary FROM employees
WHERE job_id = 'IT_PROG') AND job_id = 'ST_CLERK'
Answer: This has no error.

Which of the following PL/SQL will execute successfully?


Answer: DECLARE
v_salary INTEGER(20);
BEGIN
SELECT salary INTO v_salary FROM employees WHERE employee_id = 150;
END;

In PL/SQL Block Structure, which of the following are OPTIONAL?


Answer: None of the choices

Evaluate the following PL/SQL. At what line number is the error of the PL/SQL?
DECLARE
v_deptno NUMBER := 800;
e_invalid EXCEPTION;
BEGIN
DELETE FROM departments
WHERE department_id = v_deptno;
IF SQL % NOT_FOUND THEN
RAISE e_invalid;
END IF;
COMMIT;
EXCEPTION
WHEN e_invalid THEN
DBMS_OUTPUT.PUT_LINE('No such department id.');
END;
Answer: 7

What is the error trapping function that returns the numeric value of the error code?
Answer: SQLCODE
Fetch into a record when fetching from a cursor.
Answer: True

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy