将值从SQL表覆盖到另一个SQL表
我有两个数据库,一个是实时数据库,一个是备份数据库。我想从备份中覆盖live数据库中特定字段中的值。数据库结构相同,唯一的区别是名称不同 我该怎么做?试试这个将值从SQL表覆盖到另一个SQL表,sql,sql-server,merge,insert-update,xquery-sql,Sql,Sql Server,Merge,Insert Update,Xquery Sql,我有两个数据库,一个是实时数据库,一个是备份数据库。我想从备份中覆盖live数据库中特定字段中的值。数据库结构相同,唯一的区别是名称不同 我该怎么做?试试这个 UPDATE liveDB SET column2 = src.column2 -----Whichever column you want FROM BackupDB.dbo.Table1 AS src INNER JOIN LiveDB.dbo.Table1 AS dest ON src.column1 = dest.column
UPDATE liveDB
SET column2 = src.column2 -----Whichever column you want
FROM BackupDB.dbo.Table1 AS src
INNER JOIN LiveDB.dbo.Table1 AS dest
ON src.column1 = dest.column1;
更新
UPDATE live
SET l.ola_m_1= b.ola_m_1
FROM live.dbo.order_line l
JOIN backup.dbo.order_line b
ON --Whatever is Similar column between two
好的,这里还有点挣扎。实时数据库称为实时数据库,备份称为备份。这两个数据库中的表都称为order_line_analysis,字段都称为ola_line_analysis,我几乎不懂SQL,所以如果有任何额外的帮助,我将不胜感激。嗨,我就是无法让它工作。数据库称为dstgood&dstbad,表都称为order_line_analysis,要更新的列称为ola_m_1。dstbad需要使用DSTGood中的数据进行更新您是否有一个列来标识应匹配列的行?数据库称为Live&Backup1,表都称为order_line_analysis,要更新的列称为ola_m_1。那不是我的问题。什么标识两个数据库中两个表中的行之间的匹配行?