备份后正确的数据库

Correct database after backup

我需要一些查询方面的帮助。实际上我们的数据库中有一些错误的DATA。

由于某些技术原因,我在另一个模式中恢复了备份。

所以实际上在我的 Schema1.DB1.TBL1 中我得到了备份数据,在我的 Schema2.DB2.TBL2 中我有相同的 table 但有一些错误的数据。

你能告诉我一个 SQL 可以帮助我恢复数据的查询吗?

UPDATE Schema1.DB1.TBL1 
SET 
     Schema1.DB1.TBL1.column1= Schema2.DB2.TBL2.column1 , 
     Schema1.DB1.TBL1.column2= Schema2.DB2.TBL.column2 , 
     Schema1.DB1.TBL1.column3= Schema2.DB2.TBL.column3 , 
     Schema1.DB1.TBL1.column4= Schema2.DB2.TBL.column4 ,
     .....
     Schema1.DB1.TBL1.column100= Schema2.DB2.TBL.column100 
FROM Schema1.DB1.TBL1
JOIN Schema2.DB2.TBL on (Schema1.DB1.TBL1.id= Schema2.DB2.TBL.id)

问题是我有很多列。所以我问你有没有更简单的方法?

我知道答案是倍数有一些方法可以做到:

/*way 1*/
delete from schema1.db1.tbl
select * into schema1.db1.tbl from schema2.db2.tb2

--or do the same with a truncate
/*way 2*/
delete from schema1.db1.tbl
UPDATE Schema1.DB1.TBL1 
SET 
     Schema1.DB1.TBL1.column1= Schema2.DB2.TBL2.column1 , 
     Schema1.DB1.TBL1.column2= Schema2.DB2.TBL.column2 , 
     Schema1.DB1.TBL1.column3= Schema2.DB2.TBL.column3 , 
     Schema1.DB1.TBL1.column4= Schema2.DB2.TBL.column4 ,
     .....
     Schema1.DB1.TBL1.column100= Schema2.DB2.TBL.column100 
FROM Schema1.DB1.TBL1
JOIN Schema2.DB2.TBL on (Schema1.DB1.TBL1.id= Schema2.DB2.TBL.id)

感谢您如我所说的回答,我不知道是否有“正确的方法”来做到这一点。

而且我肯定还有其他方法可以做到这一点。但它是否可以帮助某人。