如何随机产生汉字的2字或3次人名

<script type="text/javascript"> </script> <script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"> </script> name="google_ads_frame" marginwidth="0" marginheight="0" src="http://pagead2.googlesyndication.com/pagead/ads?client=ca-pub-4969034578645448&dt=1160903390093&lmt=1160903390&format=728x90_as&output=html&url=http%3A%2F%2Fwww.cnoug.org%2Fviewthread.php%3Ftid%3D41951&color_bg=FFFFFF&color_text=000000&color_link=0000FF&color_url=008000&color_border=336699&ad_type=text_image&cc=639&u_h=768&u_w=1024&u_ah=738&u_aw=1024&u_cd=32&u_tz=480&u_java=true" frameborder="0" width="728" scrolling="no" height="78" allowtransparency="allowtransparency">
中国ORACLE用户讨论组-CNOUG -WWW.ORACLE.COM.CN


 
<script type="text/javascript">menuregister(false, "newspecialheader", true)</script>
<script type="text/javascript"> function fastreply(subject) { if($('postform')) { $('postform').subject.value = subject; $('postform').message.focus(); } } </script>
标题: 求助oracle8i,如何随机产生汉字的2字或3次人名?
lzuyajion
甲骨文二段
Rank: 2



UID 64024
精华 0
积分 53
帖子 53
金钱 0 O元
阅读权限 40
注册 2004-12-9
状态 离线
#1
发表于 2004-12-29 15:00  资料 文集 短消息 
求助oracle8i,如何随机产生汉字的2字或3次人名?

求各位大哥了,意思就是能随机产生3个汉字的函数~~~:tian:tian
顶部
lzuyajion
甲骨文二段
Rank: 2



UID 64024
精华 0
积分 53
帖子 53
金钱 0 O元
阅读权限 40
注册 2004-12-9
状态 离线
#2
发表于 2004-12-29 15:48  资料 文集 短消息 
大侠们都在吗?
小弟等不及了呀,求你们了:kiss:kiss
顶部
zmgowin
授权用户
Rank: 4
hermit


UID 34108
精华 2
积分 712
帖子 692
金钱 0 O元
阅读权限 80
注册 2004-5-27
来自 深圳
状态 离线
#3
发表于 2004-12-29 16:17  资料 文集 短消息 
16:10:54 SQL> create or replace function get_name return varchar2 as
16:11:10   2  out_name varchar2(10);
16:11:10   3  i integer;
16:11:10   4  begin
16:11:10   5    for i in 1..3 loop
16:11:10   6         out_name:=out_name||chr(33343+trunc(dbms_random.value(1,280
95)));
16:11:10   7    end loop;
16:11:10   8    return out_name;
16:11:10   9  end;
16:11:10  10  /

函数已创建。

已用时间:  00: 00: 00.31
16:11:10 SQL>
16:11:10 SQL> select get_name from dual;

GET_NAME
--------------------------------------------------------------------------------

洖ヒ郱

已用时间:  00: 00: 00.00
顶部
lzuyajion
甲骨文二段
Rank: 2



UID 64024
精华 0
积分 53
帖子 53
金钱 0 O元
阅读权限 40
注册 2004-12-9
状态 离线
#4
发表于 2004-12-29 16:26  资料 文集 短消息 
3楼的大哥,先谢谢你呀,我去试试,谢谢大哥呀!
顶部
zrsoft
授权用户
Rank: 4
活到老,学到老


UID 30557
精华 1
积分 1138
帖子 1128
金钱 0 O元
阅读权限 80
注册 2004-4-15
状态 离线
#5
发表于 2004-12-29 16:27  资料 文集 短消息 
这样出来的人名可能都是怪怪的

顶部
zmgowin
授权用户
Rank: 4
hermit


UID 34108
精华 2
积分 712
帖子 692
金钱 0 O元
阅读权限 80
注册 2004-5-27
来自 深圳
状态 离线
#6
发表于 2004-12-29 16:30  资料 文集 短消息 
没办法,试了一下,不清楚是系统字库没有还是什么问题,有些字显示成"?"
顶部
lzuyajion
甲骨文二段
Rank: 2



UID 64024
精华 0
积分 53
帖子 53
金钱 0 O元
阅读权限 40
注册 2004-12-9
状态 离线
#7
发表于 2004-12-29 17:02  资料 文集 短消息 
3楼的大哥,我用的时候怎么这样呀?
SQL> create or replace function get_name return varchar2 as
  2    out_name varchar2(10);
  3    i integer;
  4    begin
  5      for i in 1..3 loop
  6           out_name:=out_name||chr(33343+trunc(dbms_random.value(1,280
  7  95)));
  8      end loop;
  9      return out_name;
10   end;
11  /

警告:已创建的函数出现编译错误。

SQL> select get_name from dual;
select get_name from dual
       *
ERROR 位于第1行:
ORA-06575: 程序包或函数 GET_NAME 处于无效状态
顶部
zmgowin
授权用户
Rank: 4
hermit


UID 34108
精华 2
积分 712
帖子 692
金钱 0 O元
阅读权限 80
注册 2004-5-27
来自 深圳
状态 离线
#8
发表于 2004-12-29 17:03  资料 文集 短消息 
你先用desc dbms_random看看是否有这个包,如果没有的,运行一下rdbms/admin/dbmsrand.sql文件创建该包
顶部
lzuyajion
甲骨文二段
Rank: 2



UID 64024
精华 0
积分 53
帖子 53
金钱 0 O元
阅读权限 40
注册 2004-12-9
状态 离线
#9
发表于 2004-12-29 17:14  资料 文集 短消息 
3楼的大哥,再帮我看看,谢谢呀
SQL> desc dbms_random
PROCEDURE INITIALIZE
自变量名称                       类型                    输入/输出默认值?
------------------------------ ----------------------- ------ --------
SEED                           BINARY_INTEGER          IN
FUNCTION RANDOM RETURNS BINARY_INTEGER
PROCEDURE SEED
自变量名称                       类型                    输入/输出默认值?
------------------------------ ----------------------- ------ --------
SEED                           BINARY_INTEGER          IN
PROCEDURE TERMINATE

SQL>  create or replace function get_name return varchar2 as
  2    out_name varchar2(10);
  3    i integer;
  4    begin
  5      for i in 1..3 loop
  6           out_name:=out_name||chr(33343+trunc(dbms_random.value(1,28095)));
  7      end loop;
  8      return out_name;
  9   end;
10  /

警告:已创建的函数出现编译错误。

SQL> select get_name from dual;
select get_name from dual
       *
ERROR 位于第1行:
ORA-06575: 程序包或函数 GET_NAME 处于无效状态
顶部
玉面飞龙
荣休版主
Rank: 10 Rank: 10 Rank: 10


CNOUG三级纪念勋章  
UID 47
精华 4
积分 821
帖子 781
金钱 0 O元
阅读权限 200
注册 2002-11-17
状态 离线
#10
发表于 2004-12-29 17:19  资料 文集 短消息 
SQL>  create or replace function get_name return varchar2 as
  2    out_name varchar2(10);
  3    i integer;
  4    begin
  5      for i in 1..3 loop
  6           out_name:=out_name||chr(33343+trunc(dbms_random.value(1,28095)));
  7      end loop;
  8      return out_name;
  9   end;
10  /

show errors

察看创建函数的时候具体什么错误
顶部
lzuyajion
甲骨文二段
Rank: 2



UID 64024
精华 0
积分 53
帖子 53
金钱 0 O元
阅读权限 40
注册 2004-12-9
状态 离线
#11
发表于 2004-12-29 17:26  资料 文集 短消息 
这样的

SQL>  create or replace function get_name return varchar2 as
  2    out_name varchar2(10);
  3    i integer;
  4    begin
  5      for i in 1..3 loop
  6           out_name:=out_name||chr(33343+trunc(dbms_random.value(1,28095)));
  7      end loop;
  8      return out_name;
  9   end;
10  /

警告:已创建的函数出现编译错误。

SQL> show errors
FUNCTION GET_NAME出现错误:

LINE/COL ERROR
-------- -----------------------------------------------------------------
6/10     PL/SQL: Statement ignored
6/58     PLS-00302: 必须说明 'VALUE' 组件
顶部
zmgowin
授权用户
Rank: 4
hermit


UID 34108
精华 2
积分 712
帖子 692
金钱 0 O元
阅读权限 80
注册 2004-5-27
来自 深圳
状态 离线
#12
发表于 2004-12-29 17:33  资料 文集 短消息 
换成
  create or replace function get_name return varchar2 as
   out_name varchar2(10);
   i integer;
   begin
     for i in 1..3 loop
          out_name:=out_name||chr(33344+mod(dbms_random.random(),28095));
     end loop;
     return out_name;
  end;
/
顶部
lzuyajion
甲骨文二段
Rank: 2



UID 64024
精华 0
积分 53
帖子 53
金钱 0 O元
阅读权限 40
注册 2004-12-9
状态 离线
#13
发表于 2004-12-29 17:39  资料 文集 短消息 
SQL> create or replace function get_name return varchar2 as
  2     out_name varchar2(10);
  3     i integer;
  4     begin
  5       for i in 1..3 loop
  6            out_name:=out_name||chr(33344+mod(dbms_random.random(),28095));
  7       end loop;
  8       return out_name;
  9    end;
10  /

函数已创建。

SQL>
SQL> select get_name from dual;
select get_name from dual
       *
ERROR 位于第1行:
ORA-04068: 程序包  的现有状态已被丢弃
ORA-04063: package body "DATAOWNER.DBMS_RANDOM" 有错误
ORA-06508: PL/SQL:无法在调用之前找到程序单元
ORA-06512: 在"DATAOWNER.GET_NAME", line 6
ORA-06512: 在line 1
顶部
TonyMa
甲骨文初段
Rank: 1



UID 48688
精华 0
积分 36
帖子 36
金钱 0 O元
阅读权限 20
注册 2004-9-9
状态 离线
#14
发表于 2004-12-29 20:28  资料 文集 短消息 
我在创建function时候权限不够,也会有ERROR
顶部
lzuyajion
甲骨文二段
Rank: 2



UID 64024
精华 0
积分 53
帖子 53
金钱 0 O元
阅读权限 40
注册 2004-12-9
状态 离线
#15
发表于 2004-12-30 08:41  资料 文集 短消息 
大哥们再替小弟想想办法吧:tian:tian

QUOTE:
Originally posted by lzuyajion at 2004-12-29 05:39 PM:
SQL> create or replace function get_name return varchar2 as
  2     out_name varchar2(10);
  3     i integer;
  4     begin
  5       for i in 1..3 loop
  6            out_name:=out_name||c ...

顶部
lzuyajion
甲骨文二段
Rank: 2



UID 64024
精华 0
积分 53
帖子 53
金钱 0 O元
阅读权限 40
注册 2004-12-9
状态 离线
#16
发表于 2004-12-30 14:26  资料 文集 短消息 
大哥们继续呀~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
帮忙呀~~~~~~~~~~~~~~~~~~~~~~
顶部
lzuyajion
甲骨文二段
Rank: 2



UID 64024
精华 0
积分 53
帖子 53
金钱 0 O元
阅读权限 40
注册 2004-12-9
状态 离线
#17
发表于 2004-12-31 08:47  资料 文集 短消息 
大哥们都在吗???????????????????????
帮小弟想想呀
顶部
lzuyajion
甲骨文二段
Rank: 2



UID 64024
精华 0
积分 53
帖子 53
金钱 0 O元
阅读权限 40
注册 2004-12-9
状态 离线
#18
发表于 2005-4-22 15:29  资料 文集 短消息 


QUOTE:
Originally posted by lzuyajion at 2004-12-29 05:39 PM:
SQL> create or replace function get_name return varchar2 as
  2     out_name varchar2(10);
  3     i integer;
  4     begin
  5       for i in 1..3 loop
  6            out_name:=out_name||c ...

还没有人能帮我吗???
跪求!
顶部
<script type="text/javascript"> function setanswer(pid){ if(confirm("您确认要把该回复选为“最佳答案”吗?")){ document.delpost.action='misc.php?action=bestanswer&tid=41951&pid=' + pid + '&bestanswersubmit=yes'; document.delpost.submit(); } } </script>
 
 
<script type="text/javascript">menuregister(false, "newspecialfooter", true)</script>


当前时区 GMT+8, 现在时间是 2006-10-15 17:23
沪ICP备06036178号

    本论坛支付平台由支付宝提供
            携手打造安全诚信的交易社区Powered by Discuz! 5.0.0  © 2001-2006 Comsenz Inc.
TOP

清除 Cookies - 联系我们 - ORACLE中国用户组 - Archiver - WAP
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值