QUESTION 55
Examine this code:
CREATE OR REPLACE PROCEDURE audit_emp
(p_id IN emp_empno%TYPE)
IS
v_id NUMBER;
PROCEDURE log_exec
IS
BEGIN
INSERT INTO log_table (user_id, log_delete)
VALUES (USER, SYSDATE);
END log_exec;
v_name VARCHAR2(20);
BEGIN
DELETE FROM emp
WHERE empno = p_id;
log_exec;
SELECT ename, empno
INTO v_name, v_id
FROM emp
WHERE empno = p_id;
END audit_emp;
Why does this code cause an error when compiled?
(A) An insert statement is not allowed in a subprogram declaration.
(B) Procedure LOG_EXEC should be declared before any identifiers.
(C) Variable v_name should be declared before declaring the LOG_EXEC procedure.
(D) The LOG_EXEC procedure should be invoked as EXECUTE log_exec with the AUDIT_EMP procedure.