1.
Which
of the following statements is true about implicit cursors?
1.
Implicit
cursors are used for SQL statements that are not named.
2.
Developers
should use implicit cursors with great care.
3.
Implicit
cursors are used in cursor for loops to handle data processing.
4.
Implicit
cursors are no longer a feature in Oracle.
2.
Which
of the following is not a feature of a cursor FOR loop?
1.
Record
type declaration.
2.
Opening
and parsing of SQL statements.
3.
Fetches
records from cursor.
4.
Requires
exit condition to be defined.
3.
A
developer would like to use referential datatype declaration on a variable. The
variable name is EMPLOYEE_LASTNAME, and the corresponding table and column is
EMPLOYEE, and LNAME, respectively. How would the developer define this variable
using referential datatypes?
1.
Use
employee.lname%type.
2.
Use
employee.lname%rowtype.
3.
Look
up datatype for EMPLOYEE column on LASTNAME table and use that.
4.
Declare
it to be type LONG.
4.
Which
three of the following are implicit cursor attributes?
1.
%found
2.
%too_many_rows
3.
%notfound
4.
%rowcount
5.
%rowtype
5.
If
left out, which of the following would cause an infinite loop to occur in a
simple loop?
1.
LOOP
2.
END
LOOP
3.
IF-THEN
4.
EXIT
6.
Which
line in the following statement will produce an error?
1.
cursor
action_cursor is
2.
select
name, rate, action
3.
into
action_record
4.
from
action_table;
5.
There
are no errors in this statement.
7.
The
command used to open a CURSOR FOR loop is
1.
open
2.
fetch
3.
parse
4.
None,
cursor for loops handle cursor opening implicitly.
8.
What
happens when rows are found using a FETCH statement
1.
It
causes the cursor to close
2.
It
causes the cursor to open
3.
It
loads the current row values into variables
4.
It
creates the variables to hold the current row values
9.
Read
the following code:
CREATE
OR REPLACE PROCEDURE find_cpt
(v_movie_id
{Argument Mode} NUMBER, v_cost_per_ticket {argument mode} NUMBER)
IS
BEGIN
IF v_cost_per_ticket > 8.5 THEN
SELECT cost_per_ticket
INTO v_cost_per_ticket
FROM gross_receipt
WHERE movie_id = v_movie_id;
END IF;
END;
Which
mode should be used for V_COST_PER_TICKET?
1.
IN
2.
OUT
3.
RETURN
4.
IN
OUT
10.
Read
the following code:
CREATE
OR REPLACE TRIGGER update_show_gross
{trigger information}
BEGIN
{additional code}
END;
The
trigger code should only execute when the column, COST_PER_TICKET, is greater
than $3. Which trigger information will you add?
1.
WHEN
(new.cost_per_ticket > 3.75)
2.
WHEN
(:new.cost_per_ticket > 3.75
3.
WHERE
(new.cost_per_ticket > 3.75)
4.
WHERE
(:new.cost_per_ticket > 3.75)
11.
What
is the maximum number of handlers processed before the PL/SQL block is exited
when an exception occurs?
1.
Only
one
2.
All
that apply
3.
All
referenced
4.
None
12.
For
which trigger timing can you reference the NEW and OLD qualifiers?
1.
Statement
and Row
2.
Statement
only
3.
Row
only
4.
Oracle
Forms trigger
13.
Read
the following code:
CREATE
OR REPLACE FUNCTION get_budget(v_studio_id IN NUMBER)
RETURN
number IS
v_yearly_budget
NUMBER;
BEGIN
SELECT
yearly_budget
INTO v_yearly_budget
FROM studio
WHERE
id = v_studio_id;
RETURN v_yearly_budget;
END;
Which
set of statements will successfully invoke this function within SQL*Plus?
1.
VARIABLE
g_yearly_budget NUMBER
EXECUTE g_yearly_budget := GET_BUDGET(11);
EXECUTE g_yearly_budget := GET_BUDGET(11);
2.
VARIABLE
g_yearly_budget NUMBER
EXECUTE :g_yearly_budget := GET_BUDGET(11);
EXECUTE :g_yearly_budget := GET_BUDGET(11);
3.
VARIABLE
:g_yearly_budget NUMBER
EXECUTE :g_yearly_budget := GET_BUDGET(11);
EXECUTE :g_yearly_budget := GET_BUDGET(11);
4.
VARIABLE
g_yearly_budget NUMBER
:g_yearly_budget := GET_BUDGET(11);
:g_yearly_budget := GET_BUDGET(11);
CREATE
OR REPLACE PROCEDURE update_theater
(v_name
IN VARCHAR v_theater_id IN NUMBER) IS
BEGIN
UPDATE theater
SET name = v_name
WHERE id = v_theater_id;
END
update_theater;
14.
When
invoking this procedure, you encounter the error:
ORA-000:
Unique constraint(SCOTT.THEATER_NAME_UK) violated.
How
should you modify the function to handle this error?
1.
An
user defined exception must be declared and associated with the error code and
handled in the EXCEPTION section.
2.
Handle
the error in EXCEPTION section by referencing the error code directly.
3.
Handle
the error in the EXCEPTION section by referencing the UNIQUE_ERROR predefined
exception.
4.
Check
for success by checking the value of SQL%FOUND immediately after the UPDATE
statement.
15.
Read
the following code:
CREATE
OR REPLACE PROCEDURE calculate_budget IS
v_budget studio.yearly_budget%TYPE;
BEGIN
v_budget
:= get_budget(11);
IF
v_budget < 30000
THEN
set_budget(11,30000000);
END
IF;
END;
You
are about to add an argument to CALCULATE_BUDGET. What effect will this have?
1.
The
GET_BUDGET function will be marked invalid and must be recompiled before the
next execution.
2.
The
SET_BUDGET function will be marked invalid and must be recompiled before the
next execution.
3.
Only
the CALCULATE_BUDGET procedure needs to be recompiled.
4.
All
three procedures are marked invalid and must be recompiled.
16.
Which
procedure can be used to create a customized error message?
1.
RAISE_ERROR
2.
SQLERRM
3.
RAISE_APPLICATION_ERROR
4.
RAISE_SERVER_ERROR
17.
The
CHECK_THEATER trigger of the THEATER table has been disabled. Which command can
you issue to enable this trigger?
1.
ALTER
TRIGGER check_theater ENABLE;
2.
ENABLE
TRIGGER check_theater;
3.
ALTER
TABLE check_theater ENABLE check_theater;
4.
ENABLE
check_theater;
18.
Examine
this database trigger
CREATE
OR REPLACE TRIGGER prevent_gross_modification
{additional
trigger information}
BEGIN
IF
TO_CHAR(sysdate, DY) = MON
THEN
RAISE_APPLICATION_ERROR(-20000,Gross
receipts cannot be deleted on Monday);
END
IF;
END;
This
trigger must fire before each DELETE of the GROSS_RECEIPT table. It should fire
only once for the entire DELETE statement. What additional information must you
add?
1.
BEFORE
DELETE ON gross_receipt
2.
AFTER
DELETE ON gross_receipt
3.
BEFORE
(gross_receipt DELETE)
4.
FOR
EACH ROW DELETED FROM gross_receipt
19.
Examine
this function:
CREATE
OR REPLACE FUNCTION set_budget
(v_studio_id
IN NUMBER, v_new_budget IN NUMBER) IS
BEGIN
UPDATE studio
SET yearly_budget = v_new_budget
WHERE id = v_studio_id;
IF
SQL%FOUND THEN
RETURN
TRUEl;
ELSE
RETURN
FALSE;
END
IF;
COMMIT;
END;
Which
code must be added to successfully compile this function?
1.
Add
RETURN right before the IS keyword.
2.
Add
RETURN number right before the IS keyword.
3.
Add
RETURN boolean right after the IS keyword.
4.
Add
RETURN boolean right before the IS keyword.
20.
Under
which circumstance must you recompile the package body after recompiling the
package specification?
1.
Altering
the argument list of one of the package constructs
2.
Any
change made to one of the package constructs
3.
Any
SQL statement change made to one of the package constructs
4.
Removing
a local variable from the DECLARE section of one of the package constructs
21.
Procedure
and Functions are explicitly executed. This is different from a database
trigger. When is a database trigger executed?
1.
When
the transaction is committed
2.
During
the data manipulation statement
3.
When
an Oracle supplied package references the trigger
4.
During
a data manipulation statement and when the transaction is committed
22.
Which
Oracle supplied package can you use to output values and messages from database
triggers, stored procedures and functions within SQL*Plus?
1.
DBMS_DISPLAY
2.
DBMS_OUTPUT
3.
DBMS_LIST
4.
DBMS_DESCRIBE
23.
What
occurs if a procedure or function terminates with failure without being
handled?
1.
Any
DML statements issued by the construct are still pending and can be committed
or rolled back.
2.
Any
DML statements issued by the construct are committed
3.
Unless
a GOTO statement is used to continue processing within the BEGIN section, the
construct terminates.
4.
The
construct rolls back any DML statements issued and returns the unhandled
exception to the calling environment.
24.
Examine
this code
BEGIN
theater_pck.v_total_seats_sold_overall
:= theater_pck.get_total_for_year;
END;
For
this code to be successful, what must be true?
1.
Both
the V_TOTAL_SEATS_SOLD_OVERALL variable and the GET_TOTAL_FOR_YEAR function
must exist only in the body of the THEATER_PCK package.
2.
Only
the GET_TOTAL_FOR_YEAR variable must exist in the specification of the
THEATER_PCK package.
3.
Only
the V_TOTAL_SEATS_SOLD_OVERALL variable must exist in the specification of the
THEATER_PCK package.
4.
Both
the V_TOTAL_SEATS_SOLD_OVERALL variable and the GET_TOTAL_FOR_YEAR function must
exist in the specification of the THEATER_PCK package.
25.
A
stored function must return a value based on conditions that are determined at
runtime. Therefore, the SELECT statement cannot be hard-coded and must be
created dynamically when the function is executed. Which Oracle supplied
package will enable this feature?
1.
DBMS_DDL
2.
DBMS_DML
3.
DBMS_SYN
4.
DBMS_SQL