zoukankan      html  css  js  c++  java
  • Oracle根据表生成系统流水号

    1.建表tablewater

    create table TABLEWATER
    (
      tb_id         INTEGER not null,
      vc_table_name VARCHAR2(90),
      num_water_no  NUMBER(30)
    )
    vc_table_name 字段值为参数表table1、table2、、、、

    2.存储过程实现

    PROCEDURE   get_waterno 
        (
        
       vtableName IN  VARCHAR2, --表名
       vcnt       IN  INT ,--流水号
       vmax_waterno OUT  number --最大流水号
        
        )
        is
      Vcount int;
     
      BEGIN
    
         vmax_waterno:= 0;
         
        SELECT count(1) into Vcount FROM  TableWater WHERE vc_table_name = vtableName ;
        
        IF (Vcount= 0 or Vcount is null)
           THEN
        BEGIN        
              INSERT INTO  TableWater(vc_table_name,num_water_no) VALUES(vtableName, vcnt );
               vmax_waterno:= vcnt;
               
              return;
    commit; END; ELSE BEGIN DECLARE i INTEGER; begin i:= 1; WHILE i<= 1000 loop UPDATE TableWater SET num_water_no = num_water_no + vcnt WHERE vc_table_name = vtableName ; commit; IF (Vcount > 0 ) THEN BEGIN SELECT num_water_no INTO vmax_waterno FROM TableWater WHERE vc_table_name = vtableName; return ; END ; ELSE BEGIN i:= i + 1; ------------------------------------------------------------------------------- SELECT num_water_no INTO vmax_waterno FROM TableWater WHERE vc_table_name = vtableName and vmax_waterno = num_water_no ; ------------------------------------------------------------------------ vmax_waterno:= NULL; return ; END; END IF; END loop; vmax_waterno:= NULL; return; END; end; END IF; COMMIT; END;
  • 相关阅读:
    引用类型之Object类
    原始类型之String类型
    原始类型之Boolean类型
    引用类型之Boolean类
    引用类型之instanceof运算符
    javascript类型转换
    运算符之一元运算符
    Google Sites开始向所有人免费开放 可自由建个人主页
    在线制作"篆体印章",很酷!
    MD5 哈希计算工具类
  • 原文地址:https://www.cnblogs.com/Warmsunshine/p/5258640.html
Copyright © 2011-2022 走看看