算术溢出错误-802

Darth_Farzad

嗨,有一个可以从过程中获取数据的表,该过程可以正常工作,但是当尝试插入该数据时,我遇到了算术错误,并且不确定如何解决此问题。任何帮助,将不胜感激。

步骤如下:

SET TERM ^ ;
CREATE PROCEDURE REPORT_CONTROLLEDGER (
  DATESTART Date,
  DATEEND Date,
  INCOMPANYID Integer )
RETURNS (
  GLCODE Varchar(8),
  DATUM Date,
  PERIOD Varchar(2),
  SOURCE Varchar(30),
  REFERENCENO Varchar(200),
  GLDESCRIPTION Varchar(200),
  DESCRIPTION Varchar(1000),
  DR Numeric(10,2),
  CR Numeric(10,2),
  COSTCODE Varchar(8),
  BALANCE Numeric(10,2),
  COMPANYID Integer )
AS
  declare lastglcode varchar (8);
  declare grouptype integer;
  declare tglcode varchar (8);
  declare tdatum date;
  declare tperiod varchar (2);
  declare tsource varchar (30);
  declare treferenceno varchar (200);
  declare tdescription varchar (1000);
  declare tdr numeric (10,2);
  declare tcr numeric (10,2);
  declare tcostcode varchar (8);


begin
  lastglcode = '';
  balance = 0;
  companyid = incompanyid;
  for select glcode, datum, period, source, referenceno, description, dr, cr, costcode from controlledger where companyid = :companyid and datum between :datestart and :dateend order by GLCODE, datum, id  
  into tglcode, tdatum, tperiod, tsource, treferenceno, tdescription, tdr, tcr, tcostcode  
do
begin
  select description from subcode where glcode = :tglcode and companyid = :companyid into :gldescription;
  if (lastglcode <> tglcode) then
  begin
    select grouptype from subcode where glcode = :tglcode and companyid = :companyid into :grouptype;

  if (grouptype = 1) then
  begin
    select sum (dr - cr) from CONTROLLEDGER where companyid = :companyid and glcode = :tglcode and datum < :datestart into :balance;  
    if (balance is null) then balance = 0;
    glcode = tglcode;
    referenceno = null;
    description = 'Balance Brought Forward';
    cr = null;
    dr = null;
    source = null;
    costcode = null;
    datum = null;
    period = null; -- added by Andre
    suspend;  

  end 
    else
  begin
    balance = 0;
  end 
  lastglcode = tglcode; 
end
glcode = tglcode;
referenceno = treferenceno;
description = tdescription;
cr = tcr;
dr = tdr;
source = tsource;
costcode = tcostcode;
datum = tdatum;
period = tperiod; -- added by Andre

balance = balance + (tdr - tcr);   
suspend;
end

end^
SET TERM ; ^

GRANT EXECUTE
 ON PROCEDURE REPORT_CONTROLLEDGER TO  SYSDBA;

这是插入语句:

insert into tblreport_ledgercontrol select cast('03/01/2013' as date),
             cast('04/30/2014' as date),
             iif(cl.DATUM is null, 'now', cl.DATUM)as datum,
             'Detailed Ledger Report from 0000.000 to 9999.999 for period 01/03/2013 to 30/04/2014' as reporttitle,
               'ubuntu' as processedby,
                iif(cl.GLCODE is null, 00, cl.GLCODE)as glcode,
                iif(cl.PERIOD is null, 0 , cl.PERIOD)as period,
                iif(cl.SOURCE is null, 'n/a', cl.SOURCE)as source,
                iif(cl.REFERENCENO is null, 'n/a', cl.REFERENCENO)as referenceno,
                cl.GLDESCRIPTION,
                cl.DESCRIPTION,
                iif(cl.dr is null, 0, cl.dr)as dr,
                iif(cl.cr is null, 0, cl.cr)as cr,
                iif(cl.COSTCODE is null, 00, cl.COSTCODE)as costcode,
                cl.BALANCE,
                cl.COMPANYID,
                955,
                gen_id (GEN_TBLREPORT_LEDGERCONTROL_ID, 1)
        from report_controlledger ('03/01/2013','04/30/2014', 676) cl
Darth_Farzad

感谢您的投入,您离错误的地方不远了。该过程允许描述为varchar(1000),而要插入的表允许描述为varchar(200),这会导致溢出错误。

这里的要点是将目标表中的描述字段更改为blob,或者使用alter语句增加描述的char大小以匹配过程的大小。

火鸟SQL:

alter table TBLREPORT_LEDGERCONTROL alter description type varchar(1000)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

算术溢出错误转换SQL中的浮点错误

来自分类Dev

使用常量进行算术运算时出现溢出错误

来自分类Dev

Swift中如何捕获算术溢出错误?

来自分类Dev

数据类型tinyint的算术溢出错误,值= -1

来自分类Dev

使用常量进行算术运算时出现溢出错误

来自分类Dev

SQL Server 2008中的算术溢出错误消息

来自分类Dev

十进制字段上的算术溢出错误

来自分类Dev

创建带有算术溢出错误的表

来自分类Dev

按[TimeStamp](列名)排序时出现算术溢出错误

来自分类Dev

类型 varchar 值的算术溢出错误 =770214566.000000000

来自分类Dev

出现错误时,算术溢出错误将数字转换为数据类型数字

来自分类Dev

将表达式转换为数值数据类型的算术溢出错误

来自分类Dev

SQL Server:将表达式转换为数据类型bigint的算术溢出错误

来自分类Dev

在VBA中使用整数评估算术表达式的溢出错误

来自分类Dev

将IDENTITY转换为数据类型tinyint的算术溢出错误

来自分类Dev

SQL算术溢出错误将表达式转换为数据类型nvarchar

来自分类Dev

将表达式转换为数据类型smallint的算术溢出错误

来自分类Dev

SQL Server算术溢出错误将表达式转换为数据类型datetime

来自分类Dev

**偶尔**算术溢出错误将表达式转换为数据类型int

来自分类Dev

算术溢出错误将varchar转换为数值类型的数据?

来自分类Dev

“将表达式转换为数据类型nvarchar的算术溢出错误。”

来自分类Dev

在存储过程中将varchar转换为数值类型的算术溢出错误

来自分类Dev

SUM(myfield):将数字转换为数据类型数值的算术溢出错误

来自分类Dev

将varchar转换为数值数据类型的算术溢出错误?

来自分类Dev

在执行查询时将数值转换为数据类型数值的算术溢出错误

来自分类Dev

将varchar转换为数值数据类型的算术溢出错误-找不到合适的答案

来自分类Dev

存储过程算术溢出错误将表达式转换为数据类型int

来自分类Dev

smallint的算术溢出错误-但数据类型为int吗?

来自分类Dev

高精度和小数位的小数会产生“算术溢出错误”

Related 相关文章

  1. 1

    算术溢出错误转换SQL中的浮点错误

  2. 2

    使用常量进行算术运算时出现溢出错误

  3. 3

    Swift中如何捕获算术溢出错误?

  4. 4

    数据类型tinyint的算术溢出错误,值= -1

  5. 5

    使用常量进行算术运算时出现溢出错误

  6. 6

    SQL Server 2008中的算术溢出错误消息

  7. 7

    十进制字段上的算术溢出错误

  8. 8

    创建带有算术溢出错误的表

  9. 9

    按[TimeStamp](列名)排序时出现算术溢出错误

  10. 10

    类型 varchar 值的算术溢出错误 =770214566.000000000

  11. 11

    出现错误时,算术溢出错误将数字转换为数据类型数字

  12. 12

    将表达式转换为数值数据类型的算术溢出错误

  13. 13

    SQL Server:将表达式转换为数据类型bigint的算术溢出错误

  14. 14

    在VBA中使用整数评估算术表达式的溢出错误

  15. 15

    将IDENTITY转换为数据类型tinyint的算术溢出错误

  16. 16

    SQL算术溢出错误将表达式转换为数据类型nvarchar

  17. 17

    将表达式转换为数据类型smallint的算术溢出错误

  18. 18

    SQL Server算术溢出错误将表达式转换为数据类型datetime

  19. 19

    **偶尔**算术溢出错误将表达式转换为数据类型int

  20. 20

    算术溢出错误将varchar转换为数值类型的数据?

  21. 21

    “将表达式转换为数据类型nvarchar的算术溢出错误。”

  22. 22

    在存储过程中将varchar转换为数值类型的算术溢出错误

  23. 23

    SUM(myfield):将数字转换为数据类型数值的算术溢出错误

  24. 24

    将varchar转换为数值数据类型的算术溢出错误?

  25. 25

    在执行查询时将数值转换为数据类型数值的算术溢出错误

  26. 26

    将varchar转换为数值数据类型的算术溢出错误-找不到合适的答案

  27. 27

    存储过程算术溢出错误将表达式转换为数据类型int

  28. 28

    smallint的算术溢出错误-但数据类型为int吗?

  29. 29

    高精度和小数位的小数会产生“算术溢出错误”

热门标签

归档