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網站建設源碼以及服務器配置搭建相關技術文章。轉載請保留鏈接: http://www.bifwcx.com/article/web_4749.html