Oje*_*jen 2 sql sql-server sql-update
表中的一行被错误地覆盖了.我有一个表的备份,需要使用备份数据更新主表中的单行.问题是该表有近100列.有没有一种简单的方法在SQL Server中执行此操作,以便我不必手动写出:
set maintable.a = backuptable.a,
maintable.b = backuptable.b,......etc.
Run Code Online (Sandbox Code Playgroud)
一直到第100列.我认为SQL Server Management Studio可以知道我想要更新另一个表中具有相同命名字段的字段.有没有办法做到这一点?
提前致谢.
INSERT INTO MainTable
SELECT *
FROM BackUpTable
WHERE RowID = GoodRow
DELETE FROM MainTable
WHERE RowId = BadRow
Run Code Online (Sandbox Code Playgroud)
只需插入"好"行并删除"坏"行.
如果存在PK约束,则可以按相反的顺序删除/插入.
把它包含在一个中也是明智之举TRANSACTION.