Modifica il comportamento di integrità referenziale di una chiave
Finora hai implementato tre vincoli di chiave esterna:
professors.university_idversouniversities.idaffiliations.organization_idversoorganizations.idaffiliations.professor_idversoprofessors.id
Queste chiavi esterne attualmente hanno il comportamento ON DELETE NO ACTION. Qui modificherai quel comportamento per la colonna che fa riferimento a organizations da affiliations. Se un'organizzazione viene eliminata, anche tutte le sue affiliazioni (di qualsiasi professore) dovrebbero essere eliminate.
La modifica di un vincolo di chiave non funziona con ALTER COLUMN. Devi invece DROP il vincolo e poi ADD uno nuovo con un diverso comportamento ON DELETE.
Per eliminare i vincoli, però, devi conoscere il loro nome. Questa informazione è archiviata anche in information_schema.
Questo esercizio fa parte del corso
Introduzione ai database relazionali in SQL
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
-- Identify the correct constraint name
SELECT constraint_name, table_name, constraint_type
FROM information_schema.___
WHERE constraint_type = 'FOREIGN KEY';