2 Stimmen

Wie kann ich eine Sicherungskopie einer Tabelle in die Haupttabelle kopieren?

Ich habe TABLE1, bevor ich Änderungen vorgenommen habe, habe ich eine Sicherung der Tabelle gemacht:

SELECT * INTO TABLE1BACKUP FROM TABLE1

Ich habe Änderungen an den Daten in der Sicherungstabelle vorgenommen, daher möchte ich jetzt die Daten der Sicherungstabelle in die Haupttabelle kopieren. Wie kann ich meine originalen Daten zurückbekommen? Ich muss meine Haupttabelle leeren und alle Daten aus der Sicherungstabelle kopieren.

4voto

Aaron Bertrand Punkte 259330

Sie können nur SELECT INTO in eine neue Tabelle machen. In Ihrem Fall brauchen Sie:

TRUNCATE TABLE dbo.Table1;
INSERT dbo.Table1 SELECT * FROM dbo.Table1Backup;

Oder andere Optionen (z.B. das oben genannte funktioniert nicht, wenn es Fremdschlüssel gibt):

DELETE dbo.Table1;
INSERT dbo.Table1 SELECT * FROM dbo.Table1Backup;

Wenn es Fremdschlüssel gibt und Kindreihen, die auf diese Tabelle zeigen, müssen Sie auch diese Einschränkungen zuerst entfernen oder deaktivieren.

Wenn es keine Einschränkungen etc. gibt, um die Sie sich sorgen müssen, gibt es eine noch weniger invasive Möglichkeit, dies zu tun:

BEGIN TRANSACTION;
EXEC sp_rename 'dbo.Table1', N'Table1Old', OBJECT;
EXEC sp_rename 'dbo.Table1Backup', N'Table1', OBJECT;
COMMIT TRANSACTION;
DROP TABLE dbo.Table1Old;

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X