São dadas a seguir duas tabelas no banco de dados PostgreSQL: orders e customers.
CREATE TABLE customers (
customer_id SERIAL PRIMARY KEY ,
customer_name VARCHAR(100)
);
CREATE TABLE orders (
order_id SERIAL PRIMARY KEY ,
order_date DATE,
customer_id INT,
FOREIGN KEY (customer_id) REFERENCES customers(customer_id)
);
Qual alternativa altera a definição dessa chave estrangeira de modo que, quando um registro na tabela
customers for deletado, a coluna customer_id na tabela orders seja atualizada para NULL?
A
ALTER TABLE orders
DROP CONSTRAINT orders_customer_id_fkey,
ADD CONSTRAINT orders_customer_id_fkey FOREIGN KEY (customer_id)
REFERENCES customers(customer_id) ON DELETE SET DEFAULT NULL;
B
ALTER TABLE orders
DROP CONSTRAINT orders_customer_id_fkey,
ADD CONSTRAINT orders_customer_id_fkey FOREIGN KEY (customer_id)
REFERENCES customers(customer_id) ON DELETE CASCADE NULL;
C
ALTER TABLE orders
DROP CONSTRAINT orders_customer_id_fkey,
ADD CONSTRAINT orders_customer_id_fkey FOREIGN KEY (customer_id)
REFERENCES customers(customer_id) ON DELETE SET NULL;
D
ALTER TABLE orders
DROP CONSTRAINT orders_customer_id_fkey,
ADD CONSTRAINT orders_customer_id_fkey FOREIGN KEY (customer_id)
REFERENCES customers(customer_id) ON DELETE RESTRICT NULL;