Altere o comportamento de integridade referencial de uma chave
Até agora, você implementou três restrições de chave externa:
professors.university_id
parauniversities.id
affiliations.organization_id
paraorganizations.id
affiliations.professor_id
paraprofessors.id
Atualmente, essas chaves externas têm o comportamento ON DELETE NO ACTION
. Aqui, você deve mudar esse comportamento para a coluna que faz referência a organizations
de affiliations
. Se uma organização for excluída, todas as afiliações dela (por parte de qualquer professor) também deverão ser excluídas.
A alteração de uma restrição de chave não funciona com ALTER COLUMN
. Em vez disso, é preciso usar DROP
para descartar a restrição de chave e, com ADD
, acrescentar uma nova com um comportamento ON DELETE
diferente.
No entanto, para excluir restrições, você precisa saber o nome delas. Essas informações também são armazenadas em information_schema
.
Este exercício faz parte do curso
Introdução aos Bancos de Dados Relacionais em SQL
Exercício interativo prático
Experimente este exercício preenchendo este código de exemplo.
-- Identify the correct constraint name
SELECT constraint_name, table_name, constraint_type
FROM information_schema.___
WHERE constraint_type = 'FOREIGN KEY';