Prerequisiti
Il seguente set di programmi deve essere presente sul sistema per iniziare a utilizzare Elimina Cascade:
Come i postgres eliminano la cascata funziona
L'operazione Cascade Elimina viene praticata Eliminazione dell'associazione dei record in più tabelle. La Cascade elimina è una parola chiave che consente alle istruzioni di eliminazione di eseguire la cancellazione se si verificano dipendenze. La cascata di eliminazione è incorporata come proprietà della colonna durante l'operazione di insert. Abbiamo fornito un campione di eliminazione di parole chiave Cascade in quanto viene utilizzato:
Diciamo, abbiamo usato ID Dipendente Come chiave straniera. Quando si definisce il ID Dipendente Nella tabella dei bambini, la Cascade elimina è impostata su SU come mostrato di seguito:
Employee_id Integer References Employes (ID) su Elimina Cascade
L'ID viene recuperato dalla tabella dei dipendenti e ora, se l'operazione di eliminazione di Postgres viene applicata sulla tabella principale, i dati associati verranno eliminati anche dalle rispettive tabelle dei figli.
Come usare Postgres Elimina Cascade
Questa sezione ti guida ad applicare Elimina Cascade su un database Postgres. I seguenti passaggi creeranno tabelle genitore e figlio e quindi applicheranno elimina la cascata su di esse. Quindi iniziamo:
Step1: connettersi al database e creare tabelle
Il seguente comando ci porta a connetterci con il database Postgres chiamato Linuxhint.
\ c linuxhintUna volta collegato correttamente il database, abbiamo creato una tabella denominata personale e le seguenti righe di codice vengono eseguite per creare diverse colonne in personale tavolo. IL personale La tabella fungerà da tabella genitore qui:
Crea personale della tabella (ID chiave primaria seriale, nome varchar (50), designation varchar (50));Ora abbiamo creato un'altra tabella denominata informazioni Usando il comando indicato di seguito. Tra i tavoli, il informazioni La tabella viene definita bambino, mentre il personale La tabella è conosciuta come genitore. Qui l'aggiunta chiave sarebbe la modalità Cascade Elimina impostata su. La cascata Elimina viene utilizzata nella colonna chiave esterna denominata (Staff_id) poiché questa colonna agisce come una chiave primaria nella tabella principale.
Crea tabella info (info_id intero non null, staff_id references staff (ID) su elimina cascade, team_lead varchar (50), chiave primaria (info_id, staff_id));Passaggio 2: inserire alcuni dati nelle tabelle
Prima di scavare nel processo di cancellazione, inserire alcuni dati nelle tabelle. Quindi, abbiamo eseguito il seguente codice che inserisce i dati nel personale tavolo.
INSERIRE IN CAMERE (ID, nome, designazione) VALORI ('1', 'John', 'Reviewer'),Diamo un'occhiata al contenuto della tabella del personale utilizzando il comando fornito di seguito:
Seleziona * dal personale;Ora, aggiungi alcuni contenuti alla tabella dei bambini. Nel nostro caso, la tabella dei bambini è nominata informazioni E abbiamo eseguito le seguenti righe di istruzioni Postgres per inserire i dati nella tabella delle informazioni:
Inserisci Info (info_id, staff_id, team_lead) valori ('1', '4', 'sam'),Dopo un inserimento riuscito, utilizzare l'istruzione Seleziona per ottenere il contenuto di informazioni tavolo:
> Seleziona * da informazioni;Nota: Se hai già i tavoli e la cascata Elimina è impostata su un tavolo per bambini, è possibile saltare i primi 2 passaggi.
Passaggio 3: applicare Elimina il funzionamento a cascata
L'applicazione dell'operazione di eliminazione sul campo ID (chiave primaria) della tabella del personale eliminerà anche tutte le sue istanze dal informazioni tavolo. Il comando seguente ci ha aiutato a questo proposito:
Elimina dal personale dove id = 3;Una volta che la cancellazione viene eseguita correttamente, verificare che la cascata di eliminazione viene applicata o no. Per fare ciò, ottieni il contenuto sia dalle tabelle dei genitori che di figlio:
Dopo il recupero dei dati dalla tabella del personale, si osserva che tutti i dati di ID = 3 vengono eliminati:
> Seleziona * dal personale;Successivamente, è necessario applicare l'istruzione selezionata sulla tabella dei bambini (nel nostro caso, lo è informazioni). Una volta applicato, osserveresti che il campo associato Staff_id = 3 è eliminato dalla tabella dei bambini.
> Seleziona * da informazioni;Conclusione
Postgres supporta tutte le operazioni che possono essere eseguite per manipolare i dati all'interno di un database. La parola chiave Cascade Elimina consente di eliminare i dati associati a qualsiasi altra tabella. Generalmente, l'istruzione DELETE non ti permetterà di farlo. Questo post descrittivo fornisce il funzionamento e l'utilizzo di Postgres Elimina Cascade Operation. Avresti imparato a utilizzare l'operazione Cascade Elimina in una tabella dei bambini e quando si applica l'istruzione DELETE sulla tabella principale, eliminerà anche tutte le sue istanze dalla tabella dei bambini.