复制代码 代码如下:
CREATE OR REPLACE FUNCTION fn_no_make(v_prefix VARCHAR2,
v_table_name VARCHAR2,
v_number_col VARCHAR2)
/*
* v_prefix: 编码前缀两位
* v_table_name:编码所在表名
* v_number_col:编码所在列名
*/
RETURN VARCHAR2 IS
v_old_no VARCHAR2(50); --原编码
v_new_no VARCHAR2(50); --新编码
v_old_num NUMBER; --原编码后三位编号
v_new_num VARCHAR2(10); --新编码后三位编号
v_date_no VARCHAR2(10); --当前日期编号
v_sql VARCHAR2(4000);
BEGIN
v_sql := 'SELECT MAX(' || v_number_col || ') FROM ' || v_table_name;
EXECUTE IMMEDIATE v_sql INTO v_old_no;
v_sql := 'SELECT TO_CHAR(SYSDATE,''YYYYMMDD'') FROM DUAL';
EXECUTE IMMEDIATE v_sql INTO v_date_no;
v_old_num := to_number(substr(v_old_no, 12, 3));
v_new_num := lpad(to_char(v_old_num+1), 3, '0');
IF v_old_no IS NULL OR substr(v_old_no, 3, 8) <> v_date_no THEN
v_new_no := v_prefix || v_date_no || '-' || '001';
ELSE
v_new_no := v_prefix || v_date_no || '-' || v_new_num;
END IF;
RETURN v_new_no;
EXCEPTION
WHEN OTHERS THEN
dbms_output.put_line(SQLERRM);
END fn_no_make;
相关推荐:
SQLSERVER中union,cube,rollup,cumpute运算符使用说明
扩展jQuery 键盘事件的几个基本方法
javascript 面向对象,实现namespace,class,继承,重载
javascript 获取FCKeditor内容
jquery中的$(document).ready()与window.onload的区别
mysql 备份与迁移 数据同步方法
Python 第一步 hello world
商务主机威力显现 助企业发展后劲十足
javascript 表单验证常见正则
jQuery checkbox全选/取消全选实现代码
PHP CKEditor 上传图片实现代码
Mootools 1.2教程 函数
MySQL下将一个表的数据插入到另外一个表的实现语句
js removeChild 障眼法 可能出现的错误
javascript 在网页中的运用(asp.net)
SQL 判断字段类型语句
C# 数组查找与排序实现代码
揭开AJAX神秘的面纱(AJAX个人学习笔记)第1/5页
Riot.js 快速的JavaScript单元测试框架
JavaScript 动态添加表格行 使用模板、标记
C# DoubleClick与MouseDoubleClick区别,双击事件引发顺序
ASP 80040e14错误的解决方法
Python 匹配任意字符(包括换行符)的正则表达式写法
asp.net 防止用户通过后退按钮重复提交表单
支持ie与FireFox的剪切板操作代码
javascript写的一个链表实现代码
extjs 学习笔记(一) 一些基础知识
Oracle 子程序参数模式,IN,OUT,NOCOPY
javascript 指定区域内图片等比例缩放实现代码 脚本之家整合版 <font color=red>原创</font>
asp 动态数组 提供Add、Insert、Remove、RemoveAt、Search等方法。
Mootools 1.2教程 输入过滤第二部分(字符串)
sqlserver 日志恢复方法(搞定drop和truncate)
JavaScript 基于原型的对象(创建、调用)
Nginx0.5.33+PHP5.2.5(FastCGI)搭建胜过Apache10倍的Web服务器
MAC官方菜单纯CSS实现灰色会换色
sql中all,any,some用法
asp 通用修改和增加函数代码
asp.net *.ashx类型的文件使用说明
域名行业再起波澜 COM降价引发代理狂潮
jQuery 使用手册(七)
Mootools 1.2教程(21)——类(二)
php 远程包含文件漏洞分析第1/6页
JavaScript 对象成员的可见性说明
javascript createElement()创建input不能设置name属性的解决方法
Oracle 添加用户并赋权,修改密码,解锁,删除用户的方法
用Javascript 获取页面元素的位置的代码
python 中文字符串的处理实现代码
JavaScript 三种创建对象的方法
半角全角相互转换的js函数
Oracle 语句优化分析说明第1/2页