2014-01-16 30 views
2

我有TABLE1,在進行更改前我做了表的備份:如何將表的備份複製到主表中?

SELECT * INTO TABLE1BACKUP FROM TABLE1 

我已經更改了表中的備份數據,所以現在我想複製的備份表數據到主表。我怎樣才能找回我的原始數據?我需要截斷主表並從備份表複製所有數據。

回答

4

您只能新增一張表SELECT INTO。在你的情況,你需要:

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

或其他選項(如果有外鍵如上面的都不行):

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

如果有外鍵子行說指向這個表格,您需要首先刪除或禁用這些約束。

如果沒有,你需要擔心的約束等,甚至更少侵入性的方式來做到這一點是:

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