Professional Documents
Culture Documents
Twice
Four times
None (*)
Eight times
Once
Correct
Easier to write
Correct
Correct
F,C,A,B,E,D
F,B,D,A,E,C (*)
E,D,F,C,A,B
F,B,D,E,A,C
F,B,C,D,E,A
myproc(40);
Correct
SOMEPROC(10,20,D=>50);
Positionally
Named (*)
Defaulted
Correct
SOMEPROC(10,20,D=>50);
Positional (*)
Named
Defaulted
Correct
<<outer>>
DECLARE
v_name VARCHAR2(10) := 'Smith';
BEGIN
DECLARE
v_name VARCHAR2(10) := 'Jones';
BEGIN
DBMS_OUTPUT.PUT_LINE(v_name);
END;
END;
<<outer>>
DECLARE
v_name VARCHAR2(10) := 'Smith';
BEGIN
DECLARE
v_name VARCHAR2(10) := 'Jones';
BEGIN
DBMS_OUTPUT.PUT_LINE(<<outer>>.v_name);
END;
END;
<<outer>>
DECLARE
v_name VARCHAR2(10) := 'Smith';
BEGIN
DECLARE
v_name VARCHAR2(10) := 'Jones';
BEGIN
DBMS_OUTPUT.PUT_LINE(outer.v_name);
END;
END;
(*)
<<outer>>
DECLARE
v_name VARCHAR2(10) := 'Smith';
BEGIN
<<inner>>
DECLARE
v_name VARCHAR2(10) := 'Jones';
BEGIN
DBMS_OUTPUT.PUT_LINE(v_name);
END;
END;
Correct
DECLARE
v_myvar1 NUMBER;
BEGIN
DECLARE
v_myvar2 NUMBER;
BEGIN
v_myvar1 := 100;
END;
v_myvar2 := 100; v END; Mark for Review
(1) Points
True
False (*)
Correct
Correct
<<outer>>
DECLARE
v_myvar NUMBER;
BEGIN
v_myvar := 10;
DECLARE
v_myvar NUMBER := 200;
BEGIN
outer.v_myvar := 20;
v_myvar := v_myvar / 0; -- this raises a ZERO_DIVIDE error
outer.v_myvar := 30;
END;
v_myvar := 40;
EXCEPTION
WHEN ZERO_DIVIDE THEN
DBMS_OUTPUT.PUT_LINE(v_myvar);
END; Mark for Review
(1) Points
10
20 (*)
30
40
200
DECLARE
e_excep1 EXCEPTION;
e_excep2 EXCEPTION;
BEGIN
RAISE e_excep1;
EXCEPTION
WHEN e_excep1 THEN BEGIN
RAISE e_excep2; END;
END; Mark for Review
(1) Points
Correct
Which one of the following blocks will NOT work correctly? Mark for
Review
(1) Points
DECLARE
x NUMBER;
BEGIN
x:= add_em(b=4);
END;
(*)
DECLARE
x NUMBER;
BEGIN
x:= add_em(4);
END;
DECLARE
x NUMBER;
BEGIN
x:= add_em(4,5);
END;
DECLARE
x NUMBER;
BEGIN
x:= add_em;
END;
True
False (*)
Correct
Correct
DECLARE
v_var1 NUMBER(6,2);
BEGIN
-- Line A
END;
What could be coded at Liine A? Mark for Review
(1) Points
myfunc('Crocodile') := v_var1;
myfunc(v_var1) := 'Crocodile';
myfunc(v_var1, 'Crocodile');
myfunc('Crocodile', v_var1);
Correct
Correct
Which Data Dictionary views are updated automatically? Mark for Review
(1) Points
USER_PROCEDURES
USER_OBJECTS
USER_SOURCE
Correct
TED's privileges
PUBLIC's privileges
SYSTEM's privileges
ORACLE's privileges
Correct
True
False (*)
(p_param IN VARCHAR2)
(p_param VARCHAR2)
(p_param employees.last_name%TYPE)
Correct
Correct
DECLARE
v_salary employees.salary%TYPE;
BEGIN
SELECT salary INTO v_salary FROM employees
WHERE employee_id = 100;
IF v_salary > 30000 THEN
-- Line A
END IF;
... Mark for Review
(1) Points
DECLARE
CURSOR emp_curs IS SELECT * FROM employees;
v_emp_rec emp_curs%ROWTYPE;
BEGIN
FETCH emp_curs INTO v_emp_rec;
OPEN emp_curs;
CLOSE emp_curs;
EXCEPTION ...
END; Mark for Review
(1) Points
WHEN CURSOR_NOT_OPEN
WHEN INVALID_CURSOR (*)
WHEN NO_DATA_FOUND
WHEN INVALID_FETCH
Correct
OTHERS
Correct
38. How can you retrieve the error code and error message of
any Oracle Server exception? Mark for Review
(1) Points
By using RAISE_APPLICATION_ERROR
Correct
DECLARE
v_last_name employees.last_name%TYPE;
v_number NUMBER := 27;
BEGIN
v_number := v_number / 0;
SELECT last_name INTO v_last_name FROM employees
WHERE employee_id = 999;
EXCEPTION
WHEN NO_DATA_FOUND THEN
DBMS_OUTPUT.PUT_LINE('No rows were found');
WHEN ZERO_DIVIDE THEN
DBMS_OUTPUT.PUT_LINE('Attempt to divide by zero');
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('An error occurred');
END; Mark for Review
(1) Points
An error occurred
Correct
INSERT only.
UPDATE only
DELETE only
COMMIT; (*)
A RETURN statement.
Correct
Correct
True
False (*)
True (*)
False
Correct
True (*)
False
Correct
A and B
B and C (*)
A and C
Correct
True
False (*)
Correct
DECLARE
v_deptname departments.department_name%TYPE;
BEGIN
SELECT department_name INTO v_deptname
FROM departments WHERE department_id = 99;
EXCEPTION
WHEN NO_DATA_FOUND THEN
RAISE_APPLICATION_ERROR(-20201,'Department does not exist');
END; Mark for Review
(1) Points