当前位置: 代码迷 >> Oracle管理 >> 创建的过程带有编译异常。初学者求帮助
  详细解决方案

创建的过程带有编译异常。初学者求帮助

热度:90   发布时间:2016-04-24 04:17:53.0
创建的过程带有编译错误。菜鸟求帮助
create or replace procedure funcc
(单位代码 in char(20),起始日期 in date,结束日期 in date,预算 out number(20),结算 out number(20),入账 out number(20),未结算 out number(20),未入账 out number(20))
as
  begin
if 单位代码='112201001' then 
     select sum(预算金额),sum(结算金额),sum(入账金额),sum(预算金额)-sum(结算金额),sum(结算金额)-sum(入账金额) into 预算,结算,入账,未结算,未入账
     from ZYB
     where 预算单位='采油一矿1队' and 预算日期>=起始日期 and 入账日期<=结束日期;
end if;
--DBMS_OUTPUT.PUT_LINE('预算金额,结算金额,入账金额,未入账金额,未结算金额');
--DBMS_OUTPUT.PUT_LINE(预算,结算,入账,未结算,未入账);
end;

------解决方案--------------------
运行无错

show err
看看报错信息
------解决方案--------------------
引用:
create or replace procedure funcc
(单位代码 in char(20),起始日期 in date,结束日期 in date,预算 out number(20),结算 out number(20),入账 out number(20),未结算 out number(20),未入账 out number(20))
as
  begin
if 单位代码='112201001' then 
     select sum(预算金额),sum(结算金额),sum(入账金额),sum(预算金额)-sum(结算金额),sum(结算金额)-sum(入账金额) into 预算,结算,入账,未结算,未入账
     from ZYB
     where 预算单位='采油一矿1队' and 预算日期>=起始日期 and 入账日期<=结束日期;
end if;
--DBMS_OUTPUT.PUT_LINE('预算金额,结算金额,入账金额,未入账金额,未结算金额');
--DBMS_OUTPUT.PUT_LINE(预算,结算,入账,未结算,未入账);
end;

参数别用中文,参数不用指定长度
  相关解决方案