There is a CUSTOMER table in a schema that has a public synonym CUSTOMER and you are
granted all object privileges on it. You have a procedure PROCESS_CUSTOMER that processes
customer information that is in the public synonym CUSTOMER table. You have just created a
new table called CUSTOMER within your schema.
Which statement is true?
A.
Creating the table has no effect and procedure PROCESS_CUSTOMER still accesses data
from public synonym CUSTOMER table.
B.
If the structure of your CUSTOMER table is the same as the public synonym CUSTOMER table
then the procedure PROCESS_CUSTOMER is invalidated and gives compilation errors.
C.
If the structure of your CUSTOMER table is entirely different from the public synonym
CUSTOMER table then the procedure PROCESS_CUSTOMER successfully recompiles and
accesses your CUSTOMER table.
D.
If the structure of your CUSTOMER table is the same as the public synonym CUSTOMER table
then the procedure PROCESS_CUSTOMER successfully recompiles when invoked and accesses
your CUSTOMER table.
Explanation:
The procedure will first look in the owner of the procedure schema before looking for the public
synonym.