IniziaInizia gratis

Modifica il comportamento di integrità referenziale di una chiave

Finora hai implementato tre vincoli di chiave esterna:

  1. professors.university_id verso universities.id
  2. affiliations.organization_id verso organizations.id
  3. affiliations.professor_id verso professors.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

Visualizza il corso

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';
Modifica ed esegui il codice