ORACLE里面怎么实现随机循环
来源:百度文库 编辑:神马文学网 时间:2024/05/04 17:14:56
你是不是想模拟一些随机的测试数据
我提供一个不错的脚本给你
create or replace procedure gen_data( p_tname in varchar2, p_records in number )
authid current_user
as
l_insert long;
l_rows number default 0;
begin dbms_application_info.set_client_info( 'gen_data ' || p_tname );
l_insert := 'insert /*+ append */ into ' || p_tname ||
' select '; for x in ( select data_type, data_length,
nvl(rpad(
'9',data_precision,'9')/power(10,data_scale),9999999999) maxval
from user_tab_columns
where table_name = upper(p_tname)
order by column_id )
loop
if ( x.data_type in ('NUMBER', 'FLOAT' ))
then
l_insert := l_insert || 'dbms_random.value(1,' || x.maxval || '),';
elsif ( x.data_type = 'DATE' )
then
l_insert := l_insert ||
'sysdate+dbms_random.value+dbms_random.value(1,1000),';
else
l_insert := l_insert || 'dbms_random.string(''A'',' ||
x.data_length || '),';
end if;
end loop;
l_insert := rtrim(l_insert,',') ||
' from all_objects where rownum <= :n'; loop
execute immediate l_insert using p_records - l_rows;
l_rows := l_rows + sql%rowcount;
commit;
dbms_application_info.set_module( l_rows || ' rows of ' || p_records, ''
);
exit when ( l_rows >= p_records );
end loop;
end;
/
你只要用下面的方法就可以实现你随机插入100条数据了
SQL> create table test( x varchar2(10) );Table created.SQL> exec gen_data('TEST', 100)
insert /*+ append */ into TEST select dbms_random.string('A',10) from
all_objects where rownum <= :nPL/SQL procedure successfully completed.SQL> select * from test;X
----------
\JlLWWKogS
IUnoXAtHOR
...100 rows selected.
我提供一个不错的脚本给你
create or replace procedure gen_data( p_tname in varchar2, p_records in number )
authid current_user
as
l_insert long;
l_rows number default 0;
begin dbms_application_info.set_client_info( 'gen_data ' || p_tname );
l_insert := 'insert /*+ append */ into ' || p_tname ||
' select '; for x in ( select data_type, data_length,
nvl(rpad(
'9',data_precision,'9')/power(10,data_scale),9999999999) maxval
from user_tab_columns
where table_name = upper(p_tname)
order by column_id )
loop
if ( x.data_type in ('NUMBER', 'FLOAT' ))
then
l_insert := l_insert || 'dbms_random.value(1,' || x.maxval || '),';
elsif ( x.data_type = 'DATE' )
then
l_insert := l_insert ||
'sysdate+dbms_random.value+dbms_random.value(1,1000),';
else
l_insert := l_insert || 'dbms_random.string(''A'',' ||
x.data_length || '),';
end if;
end loop;
l_insert := rtrim(l_insert,',') ||
' from all_objects where rownum <= :n'; loop
execute immediate l_insert using p_records - l_rows;
l_rows := l_rows + sql%rowcount;
commit;
dbms_application_info.set_module( l_rows || ' rows of ' || p_records, ''
);
exit when ( l_rows >= p_records );
end loop;
end;
/
你只要用下面的方法就可以实现你随机插入100条数据了
SQL> create table test( x varchar2(10) );Table created.SQL> exec gen_data('TEST', 100)
insert /*+ append */ into TEST select dbms_random.string('A',10) from
all_objects where rownum <= :nPL/SQL procedure successfully completed.SQL> select * from test;X
----------
\JlLWWKogS
IUnoXAtHOR
...100 rows selected.
ORACLE里面怎么实现随机循环
随机子集的Java实现
oracle中实现分页
循环列出目录里面的文件
在oracle中实现分页
MySQL实现表中取出随机数据
bios里面怎么设置内存
oracle学习--循环语句 - 不一样的坚强 - 博客园
在室内实现多代循环
Oracle数据库逻辑备份的实现
oracle用sum函数实现累加
Taglib原理和实现之循环的Tag JSP 关键词:Taglib原理,实现之循环,Tag...
web挖掘怎么实现
关于怎么在学术圈里面混
怎么在WORD里面调整图片大小
利用模板元编程实现解循环优化
[精华] [轉載]在Oracle中实现定时操作---Job Queue
网上报销和ORACLE ERP系统的接口实现解决方案
Oracle JDE助力味千中国实现跨越式发展
Linux利用Crontab实现对Oracle数据库的定时备份
控制文件对于Oracle的重要性 实现控制文件多路复用
如何在Excel里面实现折行打印
请问oracle里面的long,long raw,raw,clob,blob各有什么好处与...
主 题: 在.net里面要怎么使用VSS呢?