sylanvans 2016-10-26 03:36 采纳率: 0%
浏览 1538

发票号码位数过多,提示数字溢出。

项目里通过存储将发票号码存入数据库,这是关于发票入库的存过。sql小白,希望大神帮忙看下。

procedure add_invoice_no(p_app_id in number,
p_invoice_code_id in number,
p_begin_no in varchar2,
p_end_no in varchar2,
p_counter out number,
p_taxpayer_no_id in number) is
v_cs_app cs.cs_app%rowtype;
v_begin_no number;
v_end_no number;
v_prefix varchar2(1) := '1';
v_cur_date date;
v_log_sql varchar2(2000);
v_ext_sql varchar2(100);--记录log日志额外的sql
begin
v_cur_date := sysdate;
v_begin_no := to_number(v_prefix || p_begin_no);
v_end_no := to_number(v_prefix || p_end_no);
p_counter := v_end_no - v_begin_no;
select * into v_cs_app from cs.cs_app ap where ap.app_id = p_app_id;
for invno in v_begin_no .. v_end_no loop
--发票号码入库
insert into bm.bm_invoice_no
(INVOICE_NO_ID,INVOICE_NO,OFFICE_ORG_ID,CORP_ORG_ID,STATUS,
CREATE_DATE,UPDATE_DATE,PRINT_DATE,EXPIRE_DATE,APP_ID,OPERATOR_ID,FLAG,
INVOICE_PRINT_HIS_ID,TAXPAYER_NO_ID,INVOICE_CODE_ID,REVOKE_STATUS,OWNER_OPERATOR_ID,
REL_INVOICE_NO_ID)
values
(sequser.bm_invoice_no_seq.nextval,substr(invno,2),0,v_cs_app.corp_org_id,1,
v_cur_date,v_cur_date,null,null,0,v_cs_app.operator_id,1,
0,p_taxpayer_no_id,p_invoice_code_id,1,0,
0);
end loop;

位数到10位的发票号码会提示数字溢出。
java.sql.SQLDataException: ORA-01426: 数字溢出
ORA-06512: 在 "BM.PKG_INVOICE_NO", line 45

  • 写回答

1条回答 默认 最新

  • Zedee 2016-10-26 03:44
    关注

    检查字段长度允许几位数字

    评论

报告相同问题?

悬赏问题

  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮