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

Qual è il vantaggio dell'aggiornamento invece di eliminare e quindi inserire nella stessa tabella

Non sono sicuro al 100% di quello che stai chiedendo, ma farò un tentativo nel buio. Fare un DELETE e poi un INSERT in una tabella per aggiornare le informazioni è una pessima idea.

Come mai? Perché se hai un'altra tabella con una chiave esterna che fa riferimento a ABC, perderai il tuo riferimento. Ovviamente, a meno che non si imposti la PK del nuovo record con la stessa PK del vecchio record (cancellato). In tal caso, perché non hai semplicemente AGGIORNATO in primo luogo?

Inoltre, CANCELLARE e quindi INSERIRE sono due operazioni mentre AGGIORNAMENTO è una, facendo sì che DELETE e INSERT richiedano (teoricamente) più tempo.

C'è anche il fattore facilità d'uso. Se elimini e poi INSERISCI, devi tenere traccia manualmente di ogni valore di colonna. Se AGGIORNA, devi solo sapere cosa vuoi cambiare.