我有表a,表b具有相同的列。我想用表格替换表b中的值而不使用update关键字。
答案 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没有任何会阻止删除匹配行的约束。请提供更多详细信息,我会相应地更新我的答案。