首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 写了个函数要求每次返回的值为D0000001,下次调用为D00000002以此类推
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • panweiwebweb
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 结帖率:
    发表于:2008-08-20 10:52:07 楼主


    写了个函数要求每次返回的值为D0000001,下次返回D00000002,第三次调用返回值为D00000003...以此类推
    当后三位到999(D00000999)时中间三位加1(D00001000)
    这个要怎么实现!
    20  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • oracledbalgtu
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-20 11:03:161楼 得分:0
    SQL code
    CREATE SEQUENCE seq_2; CREATE OR REPLACE FUNCTION GET_STR RETURN VARCHAR2 IS C_R VARCHAR2(9); I NUMBER; BEGIN SELECT SEQ_2.NEXTVAL INTO I FROM DUAL; IF (MOD(I, 1000) = 0) THEN SELECT SEQ_2.NEXTVAL INTO I FROM DUAL; END IF; C_R := 'D00' || LPAD(I, 6, '0'); RETURN(C_R); END GET_STR; / SELECT GET_STR() FROM dual;
    引用楼主 panweiwebweb 的帖子:


    写了个函数要求每次返回的值为D0000001,下次返回D00000002,第三次调用返回值为D00000003...以此类推
    当后三位到999(D00000999)时中间三位加1(D00001000)
    这个要怎么实现!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • panweiwebweb
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-20 11:23:162楼 得分:0
    当最后三位到999时,中间三位加1为D00001000,楼上的好像这个没有实现
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • cuilike
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-20 11:25:403楼 得分:0
    LPAD(I, 5, '0');
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • oracledbalgtu
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-20 11:34:514楼 得分:0
    SQL code
    楼主需求变了,原来是999后直接变成1001。 老需求用上面的。 如果是新的需求,用下面的。 CREATE SEQUENCE seq_2; CREATE OR REPLACE FUNCTION GET_STR RETURN VARCHAR2 IS C_R VARCHAR2(9); I NUMBER; BEGIN SELECT SEQ_2.NEXTVAL INTO I FROM DUAL; C_R := 'D00' || LPAD(I, 6, '0'); RETURN(C_R); END GET_STR; / SELECT GET_STR() FROM dual;


    引用楼主 panweiwebweb 的帖子:


    写了个函数要求每次返回的值为D0000001,下次返回D00000002,第三次调用返回值为D00000003...以此类推
    当后三位到999(D00000999)时中间三位加1(D00001000)
    这个要怎么实现!
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved