gpt4 book ai didi

sql-server - 如何在 SQL 中随机化外键值?

转载 作者:行者123 更新时间:2023-12-04 01:18:43 24 4
gpt4 key购买 nike

我有一个表MyTable,它有一个外键字段OtherTableID

MyTable 中已经有几千行了。现在我想随机化 OtherTableID 以便它在 OtherTable 中具有一些随机(但有效)的条目值。

任何想法如何在一个简洁的查询中做到这一点,而不是使用光标?

最佳答案

;WITH x AS 
(
/* apply a random row number to the other table */
SELECT ID, rn = ROW_NUMBER() OVER (ORDER BY NEWID())
FROM dbo.OtherTable
),
y AS
(
/* apply a sequential row number to the source table */
SELECT ID, OtherTableID, rn = ROW_NUMBER() OVER (ORDER BY ID)
FROM dbo.MyTable
)
/* now perform an update using a join on those row numbers */
UPDATE y SET OtherTableID = x.ID
FROM y INNER JOIN x
ON y.rn = x.rn;

只要 dbo.OtherTable.ID 是唯一的,就不会产生重复。这也取决于你所说的 - dbo.OtherTable 中有更多行。

关于sql-server - 如何在 SQL 中随机化外键值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15073676/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com