日本xxxx18视频在线观看-日本xxxx1819-日本xxxwww在线观看-日本xxx-日本xx-日本www在线视频

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

一個用來生成流水號的存儲過程

admin
2011年3月3日 16:59 本文熱度 3591
 我們經(jīng)常需要用一個流水號來唯一表示一條數(shù)據(jù),我們有時采用隊(duì)列來自動生成一個唯一的流水號,但是采用隊(duì)列經(jīng)常不能滿足我們的需求,比如說,這個隊(duì)列只能設(shè)定一個最小值,最大值,然后進(jìn)行累加,不能將產(chǎn)生這個流水號的日期包括今這個流水號中;一種類型就要新建一個隊(duì)列等。
下面這個存儲過程可以產(chǎn)生一個流水號,它的格式是當(dāng)前日期(格式Y(jié)YYYMMDD)+6位的流水號數(shù)字,不同的類型只要給出一個不同的類型名稱就可以了。在使用這個存儲過程前,要先創(chuàng)建一個表來保存不同的類型,表結(jié)構(gòu)如下:
create table T_GENID
(
  CLASS   NUMBER(2) not null,
  GENDATE CHAR(8) not null,
  ID      VARCHAR2(12) not null
)
tablespace SERVICE_MAIN_DAT
  pctfree 10
  pctused 80
  initrans 1
  maxtrans 255
  storage
  (
    initial 1M
    next 1M
    minextents 1
    maxextents unlimited
    pctincrease 0
  );
-- Create/Recreate primary, unique and foreign key constraints
alter table T_GENID
  add constraint PK_GENID primary key (CLASS,ID)
  using index
  tablespace SERVICE_MAIN_IDX
  pctfree 10
  initrans 2
  maxtrans 255
  storage
  (
    initial 1M
    next 1M
    minextents 1
    maxextents unlimited
    pctincrease 0
  );

存儲過程如下:
CREATE OR REPLACE PROCEDURE p_GetSerialNo
(
  i_Type                  IN     VARCHAR2,           --流水號的類型
  o_SerialNo              OUT    VARCHAR2            --返回流水號
) IS
  v_Dat                          VARCHAR2(10);
  v_SerialNum                    NUMBER(7);
BEGIN
  --取系統(tǒng)日期生成需要的字符串
  v_Dat := TO_CHAR(SYSDATE,('YYYYMMDD'));

  --生成產(chǎn)生流水號的序號
  BEGIN
    SELECT Decode(GENDATE,v_Dat,(ID+1),1)
      INTO v_SerialNum
      FROM T_GENID WHERE CLASS=i_Type FOR UPDATE;
  EXCEPTION
    WHEN NO_DATA_FOUND THEN
      v_SerialNum:= 1;
      INSERT INTO T_GENID(CLASS,GENDATE,ID)
        VALUES (i_Type,v_Dat,v_SerialNum);

    WHEN TOO_MANY_ROWS THEN
      SELECT NVL(MAX(ID)+1,1)
        INTO v_SerialNum
        FROM T_GENID WHERE CLASS=i_Type;

      DELETE t_AGT_GENID WHERE CLASS=i_Type;
      INSERT INTO T_GENID(CLASS,GENDATE,ID)
        VALUES (i_Type,v_Dat,v_SerialNum);
  END;

  --修改流水號參數(shù)
  UPDATE T_GENID
     SET GENDATE = v_Dat,
         ID = v_SerialNum WHERE CLASS=i_Type;
  COMMIT;
  --得到需要的流水號
  o_SerialNo := v_Dat||Lpad(v_SerialNum,6,'0');
EXCEPTION
  WHEN OTHERS THEN
    o_SerialNo := NULL;
END;
/

使用方法很簡單,就是在pl/sql中調(diào)用這個存儲過程,給其設(shè)置一個類型就行了,如下:
CREATE OR REPLACE PROCEDURE p_Test
(
)
IS
  v_serId VARCHAR2(14);
BEGIN
  P_Agt_GetSerialNo ('test',v_serId);   --生成流水號,放到變量v_serId中,第一個參數(shù)就是給其設(shè)置的類型了
 
  INSERT INT t_test (testid) VALUES(v_serId);--將產(chǎn)生的流水號插入表中
  COMMIT;
EXCEPTION
  WHEN OTHERS THEN
    ROLLBACK;
END;
/

該文章在 2011/3/3 16:59:00 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場、車隊(duì)、財務(wù)費(fèi)用、相關(guān)報表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉儲管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 99视频 | 国产精品亚洲а∨天堂免下载 | 欧美午夜全部免费影院 | 精品国产蜜桃臀在线观看 | 日本猛妇色xxxxx在线 | 成人免费观看做爰视频ⅹxx | 日本aa大片在线播放免费看 | 精品小说每天送 | 国产午夜不卡精品午夜电影 | 国产精品青青青高清在线密亚 | 欧美a√在线 | 国产亚洲一区二区三区成人 | 精品小说每天送 | 麻花星空影视在线看电视免费版 | 2025最新热播电视剧 | 国产亚洲高清不卡在线 | 国产精品青青在线观看看 | 精品视频在线播放一区二区三区 | 1769资源网最稳定网址 | 国产午夜福利在线观看红一片 | 99re视频在线观看精品 | 国产美女极品在线 | 日本播放一区二区三区黑人 | 国产精品午夜小视频观看 | 国产欧美日韩一区在线观看 | 国产精品揄拍100视频最近 | 国产乱子伦在线一区二区 | 日韩欧美在线视频 | 免费现黄频在线观看国产 | 日本高清在 | 国产乱码精品一区三上 | 国产很黄很 | 国产精精品免费观看 | 国产黄大片在线观看视频 | 国产精品自产拍在线观看 | 精品视频第二区第二页 | h漫全彩纯| 日韩xxxx高清在线观看 | 国产高清日韩一区二区四季 | 国产一级在线视频一区 | www一区二区三区 |