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