Which action would you take to delay the referential integrity checking until the end of the transaction?

You have two tables with referential integrity enforced between them. You need to insert data to
the child table first because it is going to be a long transaction and data for the parent table will be
available in a later stage, which can be inserted as part of the same transaction.
View the Exhibit to examine the commands used to create tables.
Which action would you take to delay the referential integrity checking until the end of the
transaction?

You have two tables with referential integrity enforced between them. You need to insert data to
the child table first because it is going to be a long transaction and data for the parent table will be
available in a later stage, which can be inserted as part of the same transaction.
View the Exhibit to examine the commands used to create tables.
Which action would you take to delay the referential integrity checking until the end of the
transaction?

A.
Set the constraint to deferred before starting the transaction

B.
Alter the constraint to NOVALIDATE state before starting the transaction

C.
Enable the resumable mode for the session before starting the transaction

D.
Set the COMMIT_WAIT parameter to FORCE_WAIT for the session before starting the
transaction

Explanation:
Specifying Constraint State
As part of constraint definition, you can specify how and when Oracle should enforce the
constraint.
constraint_state You can use the constraint_state with both inline and out-of-line specification. You
can specify the clauses of constraint_state in any order, but you can specify each clause only
once.
DEFERRABLE Clause The DEFERRABLE and NOT DEFERRABLE parameters indicate whether
or not, in subsequent transactions, constraint checking can be deferred until the end of the
transaction using the SET CONSTRAINT(S) statement. If you omit this clause, then the default is
NOT DEFERRABLE.
Specify NOT DEFERRABLE to indicate that in subsequent transactions you cannot use the SET
CONSTRAINT[S] clause to defer checking of this constraint until the transaction is committed. The
checking of a NOT DEFERRABLE constraint can never be deferred to the end of the transaction.
If you declare a new constraint NOT DEFERRABLE, then it must be valid at the time the CREATE
TABLE or ALTER TABLE statement is committed or the statement will fail.
Specify DEFERRABLE to indicate that in subsequent transactions you can use the SET
CONSTRAINT[S] clause to defer checking of this constraint until after the transaction is
committed. This setting in effect lets you disable the constraint temporarily while making changes
to the database that might violate the constraint until all the changes are complete.
You cannot alter the deferability of a constraint. That is, whether you specify either of these
parameters, or make the constraint NOT DEFERRABLE implicitly by specifying neither of them,
you cannot specify this clause in an ALTER TABLE statement. You must drop the constraint and
re-create it.



Leave a Reply 1

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


Helcio

Helcio

I got confused with the name of the tables: table ORDER referencing table ITEM?