gpt4 book ai didi

oracle - 使用重载函数创建包时出现 PLS-00103 错误

转载 作者:行者123 更新时间:2023-12-03 08:29:19 25 4
gpt4 key购买 nike

在创建具有重载函数的包时,请帮助查找错误。

显示错误:

PL-00103:在期待以下之一时遇到符号“NUMOU”:语言。

PL-00103:在预期以下情况之一时遇到符号“函数”:结束而不是编译指示最终可实例化顺序覆盖静态成员构造函数映射。

代码:

create or replace package over_load as

function print_it(numin varchar2) return number is numou number;

begin
numou := to_number(numin, '999,999.00');
dbms_output.put_line(numou);
return numou;

exception
when others then
dbms_output.put_line('Wrong string format');

return numou;

end;


function print_it(datin date) return varchar2 is datout varchar2(30);

dumcha varchar2(30);
dumdat date;

begin
dumcha := to_char(datin);
dumdat := to_date(dumcha,'FXDD-MON-YYYY');

datout := to_char(datin, 'fmMOn, DD YYYY');
dbms_output.put_line(datout);
return datout;

Exception
when others then
dbms_output.put_line('Wrong input date format');
return '0';

end;

end;

enter image description here

最佳答案

Oracle RDBMS必须 指定包(用于公共(public)方法)和包含所有公共(public)方法实现的包主体,您可以选择添加一些私有(private)方法。

包装规范:

create or replace package over_load as

function print_it(numin varchar2) return number;
function print_it(datin date) return varchar2;

end;

与 body :
create or replace package body over_load as

function print_it(numin varchar2) return number is
numou number;
begin
numou := to_number(numin, '999,999.00');
dbms_output.put_line(numou);
return numou;
exception
when others then
dbms_output.put_line('Wrong string format');
return numou;
end;


function print_it(datin date) return varchar2 is
datout varchar2(30);
dumcha varchar2(30);
dumdat date;
begin
dumcha := to_char(datin);
dumdat := to_date(dumcha,'FXDD-MON-YYYY');

datout := to_char(datin, 'fmMOn, DD YYYY');
dbms_output.put_line(datout);

return datout;
exception
when others then
dbms_output.put_line('Wrong input date format');
return '0';
end;
end;

请注意:
要在 SQL*Plus 中启用 DBMS_OUTPUT 的输出 您必须启用 serveroutput :
SQL> set serveroutput on size 30000;

关于oracle - 使用重载函数创建包时出现 PLS-00103 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24409928/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com