题目要求:打印100-200之间20个不重复的随机数。
我已经用 select ceil(dbms_random.value(100,200)) from dual;
这句话求到了随机数,但是不知道如何去判断,最好能够用一张表保存随机数,打印的时候先查询我的代码如下,先不考虑重复不重复 可是打印不出。
declare
begin_no number:=0;
end_no number:=20;
rand_no number;
sql_stmt varchar(200);begin
while begin_no=end_no
loop
sql_stmt:='select ceil(dbms_random.value(100,200)) from dual';
execute immediate sql_stmt into rand_no;
dbms_output.put_line(rand_no);
begin_no:=begin_no+1;
end loop;
end;难道动态plsql用的不对?望各位不吝赐教,谢谢!
我已经用 select ceil(dbms_random.value(100,200)) from dual;
这句话求到了随机数,但是不知道如何去判断,最好能够用一张表保存随机数,打印的时候先查询我的代码如下,先不考虑重复不重复 可是打印不出。
declare
begin_no number:=0;
end_no number:=20;
rand_no number;
sql_stmt varchar(200);begin
while begin_no=end_no
loop
sql_stmt:='select ceil(dbms_random.value(100,200)) from dual';
execute immediate sql_stmt into rand_no;
dbms_output.put_line(rand_no);
begin_no:=begin_no+1;
end loop;
end;难道动态plsql用的不对?望各位不吝赐教,谢谢!
解决方案 »
- 关于oracle数据库的 相信很多朋友都遇到过,希望给我个方法谢谢
- 请问使用向导创建表时,有一个存储信息中的:增长速率xxx行/日月年,是什么意思,感谢
- oracle导出数据库出现的错误
- 请教一个SQL语句:查询相近记录的。
- 如何删除oracle数据库的一个用户
- 在win2000下安装Oracle的问题
- SQL SERVER 7的数据库中的表格怎么利用DTS向oracle 9i导入数据的时候显示表不存在呢?谁碰到过这个问题呀???
- 从哪里可以下载到 Oracle 9i?
- ora-1480如何解决??
- 关于hash分区
- 请问,Oracle数据库如何部署到另一台机器(服务器)上啊!!急…………!找工作啊!
- 请教:VB6+MDAC1.5+ODBC+Oracle的SQL查询的很奇怪的问题
begin_no number:=0;
rand_no number;
sql_stmt varchar(200);begin
while begin_no<=20
loop
sql_stmt:='select ceil(dbms_random.value(100,200)) from dual';
execute immediate sql_stmt into rand_no;
dbms_output.put_line('数字:'||rand_no);
begin_no:=begin_no+1;
end loop;
end;这样就可以了,我循环写错。但是没有判断重复.
begin_no number:=0;
rand_no number;
sql_stmt varchar(200);
result_no number;
begin
while begin_no<=20
loop
sql_stmt:='select ceil(dbms_random.value(100,200)) from dual';
execute immediate sql_stmt into rand_no;
--查询
sql_stmt:='select count(no) from rand_table where no=:id';
execute immediate sql_stmt into result_no using rand_no;
if result_no > 0 then
null;
else
insert into rand_table values(result_no);
dbms_output.put_line('数字:'||rand_no);
begin_no:=begin_no+1;
end if;
end loop;
rollback;
end;