Java Fly

          Java&Oracle
          隨筆 - 12, 文章 - 20, 評論 - 27, 引用 - 0
          數(shù)據(jù)加載中……

          6位數(shù)的數(shù)字第一位是年份后面5位是遞增數(shù)字從00001開始

          要實現(xiàn)生成一個6位數(shù)的數(shù)字第一位是年份后面5位是遞增數(shù)字從00001開始,怎么辦?如今年是03年,生成第一個為300001,第二個為30002....

          先創(chuàng)sequence:
          create sequence seq_ticket_code increment by 1 start with 100001 maxvalue 99999999 cycle;
          再創(chuàng)函數(shù):
          create or replace function sf_GetTicketCode return number
          is
          ticket_code number(10);
          --ticket_seq number(10);
          --ticket_year number(1);
          begin
          select to_number(to_char(sysdate,'y'))||substr(to_char(seq_ticket_code.nextval),2,5)
          into ticket_code from dual;
          return ticket_code;
          exception
          when others then
          return null;
          end;

          ////
          SQL> select sf_GetTicketCode from dual;

          SF_GETTICKETCODE
          ----------------
          300010

          posted on 2006-04-23 13:30 Java Fly 閱讀(1262) 評論(0)  編輯  收藏 所屬分類: Oracle命題

          主站蜘蛛池模板: 乐平市| 马公市| 巴马| 东城区| 永川市| 耿马| 富顺县| 海原县| 阳信县| 常宁市| 修武县| 调兵山市| 巫山县| 平和县| 徐州市| 通渭县| 北流市| 山阳县| 铜鼓县| 中宁县| 滦南县| 苍山县| 垣曲县| 北安市| 巫溪县| 清水县| 灵璧县| 会东县| 正镶白旗| 沾益县| 江达县| 桃园县| 太仓市| 大丰市| 彰化县| 林周县| 渑池县| 滨海县| 页游| 类乌齐县| 赤水市|