1
結合一些例子,我想出了以下查詢(字段和表名已匿名,所以我希望我沒有插入錯別字)。用另一個表中的隨機數據更新多行?
UPDATE destinationTable
SET destinationField = t2.value
FROM destinationTable t1
CROSS APPLY (
SELECT TOP 1 'SomeRequiredPrefix ' + sourceField as value
FROM #sourceTable
WHERE sourceField <> ''
ORDER BY NEWID()
) t2
問題 目前,所有記錄得到相同價值爲destinationField
,值必須是隨機的,不同的。我可能在這裏錯過了一些東西。
這是更好的工作,但還沒有做它應該做的一切。數據是隨機的,但#sourcetable儘可能少記錄目標表,因此我正在考慮使用LEFT OUTER JOIN,否則#sourceTable會限制目標表中的行更新次數。仍然保持「WHERE sourceField <>''」是很重要的,因爲很多源記錄在sourceField中都有''。 – TTT
你確定它是「UPDATE dt」嗎? 「不更新目的地表」? – TTT
@TTT每個表中有多少條記錄? – SQLChao