23. View the Exhibit and examine the structure of the CUST table.
Evaluate the following SQL statements executed in the given order:
ALTER TABLE cust ADD CONSTRAINT cust_id_pk PRIMARY KEY(cust_id) DEFERRABLE
INITIALLY DEFERRED.
INSERT INTO cust VALUES (1,'RAJ'). –row 1
INSERT INTO cust VALUES (1,'SAM'). –row 2
COMMIT.
SET CONSTRAINT cust_id_pk IMMEDIATE.
INSERT INTO cust VALUES (1,'LATA'). –row 3
INSERT INTO cust VALUES (2,'KING'). –row 4
COMMIT.
Which rows would be made permanent in the CUST table?
A. row 4 only
B. rows 2 and 4
C. rows 3 and 4
Evaluate the following SQL statements executed in the given order:
ALTER TABLE cust ADD CONSTRAINT cust_id_pk PRIMARY KEY(cust_id) DEFERRABLE
INITIALLY DEFERRED.
INSERT INTO cust VALUES (1,'RAJ'). –row 1
INSERT INTO cust VALUES (1,'SAM'). –row 2
COMMIT.
SET CONSTRAINT cust_id_pk IMMEDIATE.
INSERT INTO cust VALUES (1,'LATA'). –row 3
INSERT INTO cust VALUES (2,'KING'). –row 4
COMMIT.
Which rows would be made permanent in the CUST table?
A. row 4 only
B. rows 2 and 4
C. rows 3 and 4
D. rows 1 and 4
Answer:C
官方文档解释,约束延迟检查;
当指定约束的属性为延迟时,系统检查在事物完成后;如果是immediate,则是在每条语句执行后检查约束。
Deferred Constraint Checking
You can defer checking constraints for validity until the end of the transaction.
-
A constraint is deferred