Buongiorno:
Come impedisco l'eliminazione di una tabella referenziata?![]()
Buongiorno:
Come impedisco l'eliminazione di una tabella referenziata?![]()
jabjoint
della tabella o dei record della tabella?
il fatto che in un'altra tabella ci sia un FK che punta a quel record dovrebbe già impedirne la cancellazione
Ciao, Non deve esser possibile eliminare articolo se relazionato ad un ordine.
jabjoint
Generalmente è già così se c'è una relazione di foreign key. Quando si costruisce la foreign key si può anche specificare che tipo di azione intraprendere quando viene tentata la cancellazione di un record dalla tabella principale:
- Nessuna azione: se si tenta di cancellare un record referenziato dalla tabella principale, viene sollevato un errore
- Set null: se si cancella un record referenziato dalla tabella principale, in quella collegata la foreign key viene posta a null
- Cascade: se si cancella un record referenziato dalla tabella principale, vencono cancellati in cascata anche tutti i record della collegata.
Nel tuo caso, quindi, avrai la tabella Ordine (secondaria) con una Foreign Key verso Articolo (principale) con vincolo di nessuna azione.
Il DBMS non ti permetterà di cancellare nessun Articolo che sia referenziato dalla tabella Ordine.
"Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza
Si in seguito mi servirà per impedirne la cancellazione a qualsiasi applicativo che lo usasse.
jabjoint