Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Non è possibile troncare la tabella perché viene referenziata da un vincolo FOREIGN KEY?

Corretta; non puoi troncare una tabella che ha un vincolo FK su di essa.

In genere il mio processo per questo è:

  1. Rilascia i vincoli
  2. Taglia il tavolo
  3. Ricrea i vincoli.

(Tutto in una transazione, ovviamente.)

Naturalmente, questo vale solo se il figlio è già stato troncato. Altrimenti prendo una strada diversa, che dipende interamente dall'aspetto dei miei dati. (Troppe variabili per entrare qui.)

Il poster originale ha determinato PERCHÉ questo è il caso; vedere questa risposta per maggiori dettagli.