gpt4 book ai didi

sql - 如何从SQL中的一组数字中选择随机数

转载 作者:行者123 更新时间:2023-12-04 22:40:35 26 4
gpt4 key购买 nike

我有一个表,其中包含一个全为 NULL 值的列。我想用一组给定数字中的随机数填充此列。

一组给定的数字将从 SELECT 语句生成,该语句从其他表中选择这些数字。

例如:

UPDATE tableA
SET someColumnName = SomeRandomNumberFromSet(SELECT number from tb_Numbers)

如何使用 MSSQL 2008 完成此操作?

最佳答案

以下不是特别有效但有效。该 View 需要解决“在函数中无效使用副作用运算符‘newid’”的问题。错误。 UDF 被假定为不确定的,因此将始终为每一行重新评估。

这将避免 SQL Server 将假脱机添加到计划并重放早期结果时出现任何问题。

如果要更新的行数(或集合中的数字)大得多,我不会使用此方法。

CREATE VIEW dbo.OneNumber
AS
SELECT TOP 1 number
FROM master..spt_values
ORDER BY NEWID()

GO

CREATE FUNCTION dbo.PickNumber ()
RETURNS int
AS
BEGIN
RETURN (SELECT number FROM dbo.OneNumber)
END

GO

DECLARE @tableA TABLE (someColumnName INTEGER)
INSERT INTO @tableA VALUES (2), (2), (2), (2), (2)

UPDATE @tableA
SET someColumnName = dbo.PickNumber()

SELECT * FROM @tableA

关于sql - 如何从SQL中的一组数字中选择随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7345969/

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