如何在不使用update关键字的情况下更新表

时间:2017-07-26 06:31:20

标签: sql

我有表a,表b具有相同的列。我想用表格替换表b中的值而不使用update关键字。

1 个答案:

答案 0 :(得分:1)

这个问题可以在表结构上使用更多细节,你究竟想要完成什么,以及是什么阻止你使用UPDATE,但是这里有:

CREATE TABLE #tempTable (col1, col2, col3, ...)

INSERT INTO #tempTable
SELECT 
 b.col1
 , b.col2
 , a.col3
 , ...
FROM a
INNER JOIN b
ON a.col1 = b.col1

DELETE FROM b
WHERE col1 IN (SELECT col1 FROM a)

INSERT INTO b
SELECT
 col1
 , col2
 , col3
 , ...
FROM #TempTable

当然,大胆假设表a和b共享主键,而表b没有任何会阻止删除匹配行的约束。请提供更多详细信息,我会相应地更新我的答案。