请各位大佬过来看看这是什么问题引起的报错
萌新接触oracle不多,第二次写临时表,报ora-01722,无效数字,但是找了很久还是没有找到原因,请各位大佬帮帮忙,谢谢
create global temporary table TT_SALEDEPTTEMP
(
shopid VARCHAR2(4),
shopname VARCHAR2(32),
deptid INTEGER,
deptname VARCHAR2(20),
costvalue NUMBER(20,2),
salevalue NUMBER(20,2),
discvalue NUMBER(20,2),
resalevalue NUMBER(20,2),
hbcostvalue NUMBER(20,2),
hbsalevalue NUMBER(20,2),
hbdiscvalue NUMBER(20,2),
hbresalevalue NUMBER(20,2)
)
on commit delete rows;
-- 数据准备
declare V_levelvalue number;
begin select levelvalue into V_levelvalue from deptlevel where deptlevelid=1;
insert into TT_SALEDEPTTEMP
select
a.shopid,b.name shopname,
a.deptid,d.name deptname,
a.costvalue,a.salevalue,a.discvalue,a.resalevalue,
c.hbcostvalue,c.hbsalevalue,c.hbdiscvalue,c.hbresalevalue
from
(select
shopid,
floor(deptid/v_levelvalue) deptid,
sum(costvalue) costvalue,
sum(salevalue) salevalue,
sum(discvalue) discvalue,
sum(salevalue-discvalue) resalevalue
from
rpt_saledept where 1=1 and to_char(sdate,'YYYY-MM-DD') between '2020-06-07' and '2020-06-07'
group by shopid,floor(deptid/v_levelvalue)) a,
shop b,
(select shopid,
floor(deptid/v_levelvalue) deptid,
sum(costvalue) hbcostvalue,
sum(salevalue) hbsalevalue,
sum(discvalue) hbdiscvalue,
sum(salevalue-discvalue) hbresalevalue
from rpt_saledept where 1=1 and to_char(sdate,'YYYY-MM-DD') between '2020-06-07' and '2020-06-07'
group by shopid, floor(deptid/v_levelvalue)) c,
(select id,name from dept union select id,name from sgroup )d
where a.shopid=b.id and a.shopid=c.shopid and a.deptid=c.deptid and a.deptid=d.id;
end;
--Error: General SQL error.
ORA-01722: 无效数字
ORA-06512: 在 line 1