Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Oracle中生成随机数_Oracle_Random_Plsql_Oracle11g - Fatal编程技术网

在Oracle中生成随机数

在Oracle中生成随机数,oracle,random,plsql,oracle11g,Oracle,Random,Plsql,Oracle11g,在我的一个项目中,我必须生成一个从1到2000的随机数,并将它们存储到表中。我必须在表中存储2000个值。我必须在表中存储不同的值。 如何在oracle中执行此操作。我使用的是oracle 11g。如果必须在1和2000之间存储2000个唯一的随机整数,可以使用以下代码: declare i pls_integer; begin for i in 1..2000 loop insert into my_table (my_column) values (i); end loop; end;

在我的一个项目中,我必须生成一个从1到2000的随机数,并将它们存储到表中。我必须在表中存储2000个值。我必须在表中存储不同的值。
如何在oracle中执行此操作。我使用的是oracle 11g。

如果必须在1和2000之间存储2000个唯一的随机整数,可以使用以下代码:

declare 
i pls_integer;
begin
for i in 1..2000 loop
  insert into my_table (my_column) values (i);
end loop;
end;
/
(在1和2000之间只有一组2000个唯一整数,即从1到2000的每个数字的集合。)

如果要生成随机数,我建议使用DBMS_CRYPTO.RANDOMINTEGER

要插入介于1和2000之间的随机数(允许重复),请将上面的插入内容与以下内容交换:

insert into my_table (my_column) values (MOD(DBMS_CRYPTO.RANDOMINTEGER, 2000) + 1);

在早期版本(Oracle 10和早期版本)中,使用DBMS_随机软件包。

+1表示i-In-1。。2000循环,2000个随机值在1和2000之间不唯一。LoL+1原因相同。这应该是你的完整答案(: