-3
我有表格a,表格b具有相同的列。我想用表格值替換表格b中的值而不使用update關鍵字。如何在不使用更新關鍵字的情況下更新表格
我有表格a,表格b具有相同的列。我想用表格值替換表格b中的值而不使用update關鍵字。如何在不使用更新關鍵字的情況下更新表格
這個問題可以在表結構使用更多的細節,你想要什麼來完成,什麼使你不能使用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沒有任何約束來阻止刪除匹配的行。請提供一些更詳細的信息,我會相應地更新我的答案。
可能的重複[如何在SQL中使用JOIN執行UPDATE語句?](https://stackoverflow.com/questions/1293330/how-can-i-do-an-update-statement-with-join -in-sql) –
這是作業或錯誤的問題,但在任何情況下,我認爲你唯一的選擇是從目標表中刪除這些記錄,然後做一個插入;但由於數據一致性問題,您在實踐中絕不會這樣做。 –
可能的重複https://stackoverflow.com/questions/4646327/update-table-without-using-update-statement – Vikrant