Principale utente con più risposte
Errore in cancellazione tabella

Domanda
-
Ciao a tutti.
Sto tentando di cancellare da un DB una tabella, come mi è stato richiesto e autorizzato.
Quando tento di fare la drop, mi appare l'errore seguente:
Tentando di cancellare prima l'indice , trovo il "delete" disabilitato.
C'è sicuramente, se non ho capito male, un collegamento tra chiavi di altre tabelle (FOREIGN KEY Constraint) o viceversa . Mi aiutereste a capire il motivo di questo blocco e come fare a cancellare questa tabella ?
Grazie in anticipo.
Hunternet
- Modificato HunterNet79 mercoledì 15 novembre 2017 14:12
Risposte
-
Ciao,
L'errore indica appunto che esistono una o più tabelle i cui campi hanno un vincolo di FOREIGN KEY con quello della tabella che stai cancellando. Prima di poterla eliminare è necessario quindi eseguire uno script che elimini il constraint di foreign key sulle tabelle per le quali dipendono. Lo script sarà della forma:
ALTER TABLE Tabella DROP CONSTRAINT NomeDelConstraintDiForeignKey;
A presto,
Gabriele
- Modificato Gabriele Etta mercoledì 15 novembre 2017 15:16
- Contrassegnato come risposta HunterNet79 mercoledì 15 novembre 2017 15:54
-
Ciao,
Puoi lanciare la Store Procedure sp_help:
EXEC sp_help 'NomeTabellaCheVoleviEliminareInizialmente'
Ti ritornerà una serie di informazioni relative alla tabella e, in fondo, un result set contenente la colonna Table is referenced by foreign key i cui record mostreranno tutte le tabelle con il relativo vincolo di FK su quella per cui hai lanciato la SP.
A presto,
Gabriele
- Modificato Gabriele Etta mercoledì 15 novembre 2017 15:48
- Contrassegnato come risposta Edoardo BenussiMVP, Moderator mercoledì 22 novembre 2017 16:57
Tutte le risposte
-
Ciao,
L'errore indica appunto che esistono una o più tabelle i cui campi hanno un vincolo di FOREIGN KEY con quello della tabella che stai cancellando. Prima di poterla eliminare è necessario quindi eseguire uno script che elimini il constraint di foreign key sulle tabelle per le quali dipendono. Lo script sarà della forma:
ALTER TABLE Tabella DROP CONSTRAINT NomeDelConstraintDiForeignKey;
A presto,
Gabriele
- Modificato Gabriele Etta mercoledì 15 novembre 2017 15:16
- Contrassegnato come risposta HunterNet79 mercoledì 15 novembre 2017 15:54
-
Grazie tante della risposta.
A questo punto, essendo molte nel DB, avrei necessità di avere la lista delle tabelle coinvolte ... non sono riuscito a trovare niente che faccia al caso mio ... se non dal "Design" di Management Studio -> "RELATIONSCHIP" ?!? Esiste un comando ?
Grazie ancora.
Hunternet
-
Ciao,
Puoi lanciare la Store Procedure sp_help:
EXEC sp_help 'NomeTabellaCheVoleviEliminareInizialmente'
Ti ritornerà una serie di informazioni relative alla tabella e, in fondo, un result set contenente la colonna Table is referenced by foreign key i cui record mostreranno tutte le tabelle con il relativo vincolo di FK su quella per cui hai lanciato la SP.
A presto,
Gabriele
- Modificato Gabriele Etta mercoledì 15 novembre 2017 15:48
- Contrassegnato come risposta Edoardo BenussiMVP, Moderator mercoledì 22 novembre 2017 16:57
-