voglio cambiare il valore della chiave primaria per una riga in una tabella che ha rapporti con altre tabelle:SQL Server: cambiare chiave primaria con righe correlate
Per esempio
Table Person { Id, Name, +50 fields }
Table Address { Id, City, +10 fields }
Table Person2Address { Id, PersonId, AddressId }
voglio cambiare Person.Id e Person2Address.PersonId
cerco qualcosa di simile:
BEGIN TRANSACTION
UPDATE Pers SET Id = NewId WHERE Id = OldId
UPDATE Person2Address SET PersonId = NewId WHERE PersonId = OldId
COMMIT TRANSACTION
Ma naturalmente fornisce conflitti :)
Come posso temporaneamente sopprimere i vincoli di chiave esterna o c'è un modo migliore per cambiare l'ID per persona?
Codice mal testato {0000-0000-0000} valore guida come PK, quindi voglio cambiarlo. Grazie, proverò –