Which statement describes the effect of table redefinition on the triggers attached to the table?

Which statement describes the effect of table redefinition on the triggers attached to the
table?

Which statement describes the effect of table redefinition on the triggers attached to the
table?

A.
All triggers on the table are invalidated and are automatically revalidated with the next
DML execution on the table.

B.
All triggers on the table are invalidated and must be manually recompiled before the next
DML execution on the table.

C.
All triggers on the table remain valid.

D.
Only triggers that are affected by the changes to the structure of the table are invalidated
and automatically revalidated with the next DML execution on the table.



Leave a Reply 1

Your email address will not be published. Required fields are marked *


Eamon

Eamon

I don’t like this question …. it could be sooooooo much better.

A “trigger”, is a object that is dependent on the table being redefined so it can also be refered to as a “dependent object” and therefore we can search the documentation using both of these terms.
When talking about “table redefinition” one would naturally refer to
http://oracle.su/docs/11g/server.112/e10595/tables007.htm#i1006754
however if we search this doc for the term “invalid” we find …

Some PL/SQL objects, views, synonyms, and other table-dependent objects may become invalidated. Only those objects that depend on elements of the table that were changed are invalidated. For example, if a PL/SQL procedure queries only columns of the redefined table that were unchanged by the redefinition, the procedure remains valid. See “Managing Object Dependencies” for more information about schema object dependencies.

following the link … one can find …

Oracle Database provides an automatic mechanism to ensure that a dependent object is always up to date with respect to its referenced objects. When a dependent object is created, the database tracks dependencies between the dependent object and its referenced objects. When a referenced object is changed in a way that might affect a dependent object, the dependent object is marked invalid. An invalid dependent object must be recompiled against the new definition of a referenced object before the dependent object can be used. Recompilation occurs automatically when the invalid dependent object is referenced.