【发布时间】:2021-12-24 22:38:34
【问题描述】:
我有 2 个与 Oracle 中的 dbms_random 包相关的问题:
-
我想知道dbms_random包中的initialize和seed是否有区别。 我需要从更大的集合中随机化固定数量的记录,但我希望观察到的记录保持稳定,直到我更改种子。
-
查看记录后,有没有办法生成不同的记录集但仍然保留种子,不知道是否有重置或重新初始化具有相同种子的包的功能?
以下是我的示例代码,用于说明目的。我可以生成一组不同的记录但仍保留原始种子吗?
begin
--dbms_random.initialize(100);
dbms_random.seed(100);
SELECT *
FROM (
SELECT *
FROM table
ORDER BY DBMS_RANDOM.value)
WHERE rownum < 21;
end;
【问题讨论】:
-
我不确定您对问题 2 的意思。种子的全部意义在于 RNG 将生成相同的随机数集。如果您想要一组不同的记录,请使用不同的种子...?
标签: oracle plsql random-seed