Oracle Database 12c: SQL Fundamentals — Question 6

Examine the create table statements for the stores and sales tables.
SQL> CREATE TABLE stores(store_id NUMBER(4) CONSTRAINT store_id_pk PRIMARY KEY, store_name VARCHAR2(12), store_address
VARCHAR2(20), start_date DATE);
SQL> CREATE TABLE sales(sales_id NUMBER(4) CONSTRAINT sales_id_pk PRIMARY KEY, item_id NUMBER(4), quantity NUMBER(10), sales_date
DATE, store_id NUMBER(4), CONSTRAINT store_id_fk FOREIGN KEY(store_id) REFERENCES stores(store_id));
You executed the following statement:

SQL> DELETE from stores -
WHERE store_id=900;
The statement fails due to the integrity constraint error:
ORA-02292: integrity constraint (HR.STORE_ID_FK) violated
Which three options ensure that the statement will execute successfully?

Answer options

Correct answer: A, C, D

Explanation

Option C is correct because it addresses the foreign key constraint by removing dependent records in the SALES table before deleting from STORES. Option A is incorrect as disabling the primary key does not resolve foreign key dependencies. Option D is also valid but less ideal than C, as it may lead to potential data inconsistencies. Option B is incorrect since it does not apply to the existing foreign key constraint, and option E suggests a new foreign key that would not help the current situation.