2
我有TABLE1
,在進行更改前我做了表的備份:如何將表的備份複製到主表中?
SELECT * INTO TABLE1BACKUP FROM TABLE1
我已經更改了表中的備份數據,所以現在我想複製的備份表數據到主表。我怎樣才能找回我的原始數據?我需要截斷主表並從備份表複製所有數據。
我有TABLE1
,在進行更改前我做了表的備份:如何將表的備份複製到主表中?
SELECT * INTO TABLE1BACKUP FROM TABLE1
我已經更改了表中的備份數據,所以現在我想複製的備份表數據到主表。我怎樣才能找回我的原始數據?我需要截斷主表並從備份表複製所有數據。
您只能新增一張表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;