12
返回列表 发新帖
楼主: buptgerman

2个用户取到相同的序列值,怎么可能?

[复制链接]
论坛徽章:
168
马上加薪
日期:2014-02-19 11:55:142012新春纪念徽章
日期:2012-02-13 15:10:582012新春纪念徽章
日期:2012-01-04 11:49:54蜘蛛蛋
日期:2011-12-05 16:08:56ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41设计板块每日发贴之星
日期:2011-07-22 01:01:02ITPUB官方微博粉丝徽章
日期:2011-06-30 12:30:16管理团队成员
日期:2011-05-07 01:45:082011新春纪念徽章
日期:2011-01-25 15:42:562011新春纪念徽章
日期:2011-01-25 15:42:33
11#
发表于 2005-2-23 12:14 | 只看该作者
在函数包中访问序列a来取得值b
-->
把你的函数包贴出来看看?

使用道具 举报

回复
论坛徽章:
0
12#
 楼主| 发表于 2005-2-23 13:50 | 只看该作者
FUNCTION save_make_an(The_ywlb Varchar2) RETURN Varchar2 IS
  The_slbh    Varchar2(30);
  M_Old      VarCHAR2(4);
  M_New      VarCHAR2(4);

If  Upper(The_ywlb) like 'K2%'  Then
     SELECT Upper(substr(the_ywlb,1,2))||To_Char(Sysdate,'YYMM')||'X'
         ||Ltrim(To_Char(ANSEQUENCE.nextval,'00000'))
      INTO The_SLBH FROM DUAL;
elsif .....

之后将the_slbh插入到表C中,除了这个问题之外,还有the_slbh
是K 2 0 5 0 2这样的情况,中间莫名其妙的出现了空格!也让我很困惑

使用道具 举报

回复
论坛徽章:
0
13#
发表于 2005-2-23 14:57 | 只看该作者
你的SEQ是不是设为循环的?
而且那个表里面没有及时删除旧数据?

seq以前听说有跳号的(不按顺序挨个来),
没听说有重复的。

空格问题不理解,不会有其他应用后续处理增加的吧?

使用道具 举报

回复
论坛徽章:
0
14#
发表于 2005-2-23 15:06 | 只看该作者
最初由 buptgerman 发布
[B]FUNCTION save_make_an(The_ywlb Varchar2) RETURN Varchar2 IS
  The_slbh    Varchar2(30);
  M_Old      VarCHAR2(4);
  M_New      VarCHAR2(4);

If  Upper(The_ywlb) like 'K2%'  Then
     SELECT Upper(substr(the_ywlb,1,2))||To_Char(Sysdate,'YYMM')||'X'
         ||Ltrim(To_Char(ANSEQUENCE.nextval,'00000'))
      INTO The_SLBH FROM DUAL;
elsif .....

之后将the_slbh插入到表C中,除了这个问题之外,还有the_slbh
是K 2 0 5 0 2这样的情况,中间莫名其妙的出现了空格!也让我很困惑 [/B]


To_Char(ANSEQUENCE.nextval,'00000')
当currentval超过10万,后续的是不是都一样呀?
我在9201上
SQL> select Ltrim(To_Char(1234567,'00000')) from dual;

LTRIM(TO_CHAR(1234567,'00000')
------------------------------
######


怎么返回都是#,这语法通吗?

使用道具 举报

回复
论坛徽章:
86
ITPUB元老
日期:2005-02-28 12:57:002012新春纪念徽章
日期:2012-01-04 11:49:542012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:20咸鸭蛋
日期:2012-05-08 10:27:19版主8段
日期:2012-05-15 15:24:112013年新春福章
日期:2013-02-25 14:51:24
15#
发表于 2005-2-23 16:11 | 只看该作者
dp2000 由于是oracle自己的工具,我不确信里面是否会存在一起问题

oracle的工具中(比如form开发) 进程和session  可能不是一对一的关系(一个session好象可以对应多个进程)

对于包,同一个进程访问相同的包,如果包的变量是全局的,那可能访问上一个调用遗留下来的值

原因不明,仅供参考

使用道具 举报

回复
论坛徽章:
0
16#
 楼主| 发表于 2005-2-23 16:47 | 只看该作者
序列 nocycle   cache 20
序列每个月都重新从1开始,现在才400
不会出现循环的情况!
问题很怪,问公司的人也不清楚,但出现问题
是好事情,可以让大家探讨,看到大家的回复,
虽然没有解决,但是也增加不少知识,只要这些
怪的问题才能深入的了解oracle

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表