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;

Oracle根据表生成系统流水号的更多相关文章

  1. Java互联网架构-Mysql分库分表订单生成系统实战分析

    概述 分库分表的必要性 首先我们来了解一下为什么要做分库分表.在我们的业务(web应用)中,关系型数据库本身比较容易成为系统性能瓶颈,单机存储容量.连接数.处理能力等都很有限,数据库本身的“有状态性” ...

  2. PowerDesigner生成的ORACLE 建表脚本中去掉对象的双引号,设置大、小写

    原文:PowerDesigner生成的ORACLE 建表脚本中去掉对象的双引号,设置大.小写 若要将 CDM 中将 Entity的标识符都设为指定的大小写,则可以这么设定: 打开cdm的情况下,进入T ...

  3. ORACLE主要的系统表和系统视图

    ORACLE主要的系统表和系统视图 1.系统表 ORACLE数据库的系统参数都存储在数据库中,可以通过SQLPLUS,以用户SYS进行查询.几个重要的表或者视图如下: v$controlfile:控制 ...

  4. Oracle DBA常用的系统表

    1.2 DBA常用的表1.2.1  dba_开头    dba_users数据库用户信息    dba_segments  表段信息    dba_extents    数据区信息    dba_ob ...

  5. Oracle中常用的系统表

    1.dba开头的表 dba_users 数据库用户信息 dba_segments 表段信息 dba_extents 数据区信息 dba_objects 数据库对象信息 dba_tablespaces ...

  6. ORACLE外部表总结

    外部表介绍 ORACLE外部表用来存取数据库以外的文本文件(Text File)或ORACLE专属格式文件.因此,建立外部表时不会产生段.区.数据块等存储结构,只有与表相关的定义放在数据字典中.外部表 ...

  7. Oracle新表使用序列(sequence)作为插入值,初始值不是第一个,oraclesequence

    Oracle新表使用序列(sequence)作为插入值,初始值不是第一个,oraclesequence 使用oracle11g插入数据时遇到这样一个问题: 1 --创建测试表-- 2 CREATE T ...

  8. PowerDesigner反向工程,根据Oracle数据库结构生成ER图(2014-3-25记)

    01.添加数据服务端 02. PowerDesigner 1. 新建PDM:选择菜单File->New Model,[Model type]选择Physical Data Model,[DBMS ...

  9. Oracle外部表详解(转载)

    (外部表创建主要注意创建目录访问权限问题.目录路径格式无空格等不相关字符,即必须是当前表访问用户可以访问:关于表中行数的限制问题,如果不加限制注意添加reject limit unlimited:表中 ...

随机推荐

  1. Ubuntu18.04中配置wxWidget3.0.4开发环境

    准备工作 在 https://www.wxwidgets.org/downloads/ 下载最新的稳定版 wxWidgets-3.0.4.tar.bz2 安装依赖 -dev build-essenti ...

  2. 初始建库SGA该设多大、PGA该设多大的建议

    1.背景情况 非常多新业务系统上线,大部分DBA也不懂业务.就闷着头建库,SGA值设多大,PGA设多大,随便指定一个值就得了,执行一段时间后,或许就由于这个值是随便指定的.比如SGA+PGA大于总物理 ...

  3. [转载]Ubuntu下Git服务器安装与配置

    原文地址:Ubuntu下Git服务器安装与配置作者:F民抄 1. 安装 1.1 安装Git-Core: sudo apt-get install git-core 1.2 安装 Gitosis sud ...

  4. oracle加密-des 简单举例.

    Declare  v_seed Raw(128);  v_key_1 Raw(64);  v_key_2 Raw(64);    v_Text_for_encrypted Raw(64);  v_mw ...

  5. 数组问题常用的O(N)算法:单调队列

    求max(a)<min(b)的区间个数 给定两个长度都为N的整型数组a[N]和b[N],求满足如下条件的闭区间个数:在区间[l,r]上,a中的任意元素都比b中的任意元素小. 这个问题是O(N)复 ...

  6. Python import容易犯的一个错误

    有时,我们需要手动添加一些依赖 b.py import sys sys.path.insert(0,"haha")#引用haha目录下的a文件 当使用时 import a impo ...

  7. JAVA操作mysql

    所需jar包:mysql-connector-java.jar 代码: import java.sql.*; import java.util.ArrayList; import java.util. ...

  8. Linux提示“libc.so.6: version `GLIBC_2.14' not found”系统的glibc版本太低

    http://www.linuxidc.com/Linux/2017-01/139806.htm http://www.linuxidc.com/Linux/2015-04/116472.htm

  9. Git的图形化工具使用教程

    虽然感觉并没有什么暖用,但姑且还是写出来留作纪念好了 Git这种分布式版本控制系统最适合的就是单枪匹马搞开发的选手,不需要服务器,下载个git和图形工具,网速快十分钟就能搞定开始愉快的开发工作.我在搭 ...

  10. 域名 ip地址 端口号

    域名默认指定一个ip地址 当用域名访问网站的时候 网站会默认给个端口号80 或者自己指定 其他的 例如数据库 也是会给端口号 例如mysql 3306 域名:80 是访问iis 网站域名:3306 是 ...