SQL ELETE CASCADE

SQL ELETE CASCADE

SQL su Cascade Elimina è un vincolo che consente a SQL di eliminare le righe associate a una tabella principale specifica quando la tabella principale viene eliminata.

Utilizzando questo articolo, discuteremo di come implementare il vincolo Cascade Elimina in SQL.

Esempio pratico in cascata SQL

Supponiamo di avere due tabelle contenenti informazioni sugli sviluppatori e i contributi di un altro sviluppatore. Lo sviluppatore ha contributi multipli.

Qui, vogliamo creare una relazione in cui tutti i contributi dall'altra tabella vengono rimossi automaticamente se lo sviluppatore viene rimosso dalla tabella.

Iniziamo creando la tabella degli sviluppatori:

Crea sviluppatori di tabelle (
Chiave primaria seriale Dev_id,
full_name varchar (100) non null,
dev_language varchar (255) non null
);

Successivamente, creiamo una tabella di contributi come mostrato:

Crea un contributo della tabella (
Chiave primaria seriale Repo_ID,
repo_name varchar (100) non null,
commit_id int non null,
dev_id intero non null,
Chiave straniera (dev_id)
RIFERIMENTI SVILUPERS (DEV_ID)
Su Elimina Cascade
);

Questa tabella dichiara un vincolo a chiave esterna che detiene un vincolo di eliminazione a cascata e fa riferimento a Dev_id nella tabella degli sviluppatori.

Aggiungiamo dati di esempio da testare come mostrato:

Inserisci negli sviluppatori (full_name, dev_language)
VALORI
('Romilly Roy Reeve', 'Python 3'),
('Anastasija Jimi Hirsch', 'C ++'),
("Marylène Nina Capella", "Rust")

La tabella degli sviluppatori dovrebbe avere dati di esempio come mostrato:

Seleziona * dagli sviluppatori;

Aggiungi i dati di esempio nella tabella dei contributi come mostrato:

INSERT IN APMIN (repo_name, commit_id, dev_id)
VALORI
('Repo1', 464576, 1),
('Repo1', 445876, 2),
('Repo1', 466466, 3);

La tabella dei contributi dovrebbe contenere dati come:

Seleziona * da contributo;

Per illustrare come eliminare il vincolo a cascata, rimuoviamo lo sviluppatore con l'ID di 3.

Elimina dagli sviluppatori dove dev_id = 3;

Se interroga la tabella dei contributi, noterai che anche il record per Dev_id 3 è stato abbandonato.

Seleziona * da contributo;

Questo è come usarli su Elimina i vincoli a cascata in SQL.

Grazie per aver letto!!