oracle(plsql)生成流水号建站知识
导读:1建站知识这篇文章主要介绍了oracle(plsql)生成流水号,需要的朋友可以参考下企业网站建设网seo优化趋势。
复制代码 代码如下:
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;
相关。声明: 本文由我的SEOUC技术文章主页发布于:2023-05-22 ,文章oracle(plsql)生成流水号建站知识主要讲述标签,标题,oracle(plsql)生成流水号建站知识1网站建设源码以及服务器配置搭建相关技术文章。转载请保留链接: https://www.seouc.com/article/web_4749.html