以下のコードを実行中に次のエラーメッセージが表示されます。私はPL/SQL(oracle)の世界をコーディングするのが初めてです。多くの宣言が
コード:
create or replace package learn is
function Area(i_rad NUMBER) return NUMBER;
function Area(i_length NUMBER, i_width NUMBER:=3) return NUMBER;
end;
/
パッケージ本体:
create or replace package body learn is
function Area(i_rad NUMBER) return NUMBER
is
v_pi NUMBER:=3.14;
v number:=to_number(i_rad);
begin
return v_pi * (i_rad ** 2);
end;
function Area(i_length NUMBER, i_width NUMBER:=3) return NUMBER
is
begin
return i_length * i_width;
end;
end learn;
PLSQLブロック
declare
x number(2):=2;
y number(2):=5;
begin
DBMS_OUTPUT.put_line('Area (R=3):'||learn.Area(x));
DBMS_OUTPUT.put_line('Area (R=3):'||learn.Area(x,y));
end;
エラーメッセージ: 'AREA' の、あまりにも多くの宣言は、このコールに一致する
試し: 'DBMS_OUTPUT.PUT_LINE( 'エリア(R = 3):' || learn.Area(i_rad => x)); ' – krokodilko
2番目のArea関数に2番目のパラメータのデフォルト値があるので、1つのパラメータでAreaを呼び出すかどうかをpl/sqlがどのように認識しますか? – OldProgrammer