数码资讯
Oracle(PL/SQL)生成序号
复制代码代码如下所示: 创建或替换功能fn_no_make(v_prefix VARCHAR2, v_table_name VARCHAR2, v_number_col VARCHAR2) * * v_prefix:两位编码的前缀 * v_table_name:表中的代码名称 * v_number_
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
复制代码代码如下所示:
创建或替换功能fn_no_make(v_prefix VARCHAR2,
v_table_name VARCHAR2,
v_number_col VARCHAR2)
*
* v_prefix:两位编码的前缀
* v_table_name:表中的代码名称
* v_number_col:在列名称代码名称
* /
返回VARCHAR2是
v_old_no VARCHAR2(50);-原编码
v_new_no VARCHAR2(50);-新的编码
v_old_num数;三位码后的原代码
v_new_num VARCHAR2(10);三位编号的新代码后
v_date_no VARCHAR2(10);-当前日期数
v_sql VARCHAR2(4000);
开始
v_sql:= 'select(最大的v_number_col ' | | | |)| | v_table_name;
立即执行v_sql为v_old_no;
v_sql:= 'select to_char(SYSDATE,''yyyymmdd '双');
立即执行v_sql为v_date_no;
v_old_num:= to_number(substr(v_old_no,12, 3));
v_new_num:=负载(to_char(v_old_num + 1),3,'0');
如果v_old_no是null或substr(v_old_no,3, 8)v_date_no <>然后
v_new_no:= v_prefix v_date_no | | | | - | | '001;
其他的
v_new_no:= v_prefix v_date_no | | | | - | | v_new_num;
最后如果;
返回v_new_no;
例外
当别人然后
dbms_output.put_line(sqlerrm);
最后fn_no_make;
创建或替换功能fn_no_make(v_prefix VARCHAR2,
v_table_name VARCHAR2,
v_number_col VARCHAR2)
*
* v_prefix:两位编码的前缀
* v_table_name:表中的代码名称
* v_number_col:在列名称代码名称
* /
返回VARCHAR2是
v_old_no VARCHAR2(50);-原编码
v_new_no VARCHAR2(50);-新的编码
v_old_num数;三位码后的原代码
v_new_num VARCHAR2(10);三位编号的新代码后
v_date_no VARCHAR2(10);-当前日期数
v_sql VARCHAR2(4000);
开始
v_sql:= 'select(最大的v_number_col ' | | | |)| | v_table_name;
立即执行v_sql为v_old_no;
v_sql:= 'select to_char(SYSDATE,''yyyymmdd '双');
立即执行v_sql为v_date_no;
v_old_num:= to_number(substr(v_old_no,12, 3));
v_new_num:=负载(to_char(v_old_num + 1),3,'0');
如果v_old_no是null或substr(v_old_no,3, 8)v_date_no <>然后
v_new_no:= v_prefix v_date_no | | | | - | | '001;
其他的
v_new_no:= v_prefix v_date_no | | | | - | | v_new_num;
最后如果;
返回v_new_no;
例外
当别人然后
dbms_output.put_line(sqlerrm);
最后fn_no_make;
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。