オーバーロードされたパッケージを処理していて、2つのことが不思議でした。オーバーロードされたパッケージの処理 "オブジェクトの詳細の解決に失敗しました"
1)エラーが発生した行の番号のように、Failed to resolve object details
の縫い目が少し曖昧なため、何が起こったかについての詳細情報を得る方法はありますか?
2)このステートメントで間違っているように見えますか?
CREATE OR REPLACE PACKAGE shop_query_pkg IS
procedure shop_info
(p_id IN bb_shopper.idshopper%TYPE,
p_firstname out bb_shopper.firstname%TYPE);
procedure shop_info
(p_id IN bb_shopper.lastname%TYPE,
p_firstname out bb_shopper.firstname%TYPE);
END;
/
CREATE OR REPLACE PACKAGE BODY show_query_pkg IS
procedure shop_info
(p_id IN bb_shopper.idshopper%TYPE,
p_firstname out bb_shopper.firstname%TYPE);
IS
BEGIN
SELECT firstname
into p_firstname
FROM bb_shopper
WHERE idshopper = p_id;
EXCEPTION
WHEN NO_DATA_FOUND THEN
DBMS_OUTPUT.PUT_LINE('ID does not exist');
END;
-- second procedure
procedure shop_info
(p_id IN bb_shopper.lastname%TYPE,
p_firstname out bb_shopper.firstname%TYPE);
IS
BEGIN
SELECT firstname
into p_firstname
FROM bb_shopper
WHERE lastname = p_id;
EXCEPTION
WHEN NO_DATA_FOUND THEN
DBMS_OUTPUT.PUT_LINE('Last name does not exist');
END;
END;
/
show errors;
エラー
PACKAGE shop_query_pkg compiled
PACKAGE BODY show_query_pkg compiled
Warning: execution completed with warning
Failed to resolve object details
あなたの最初の質問では、同じスキーマのビューuser_errorsを使用して、行番号、位置、テキストなどのすべての情報を取得することができます – psaraj12
オーバーロードされたプロシージャー定義で同じ数のパラメーターと名前を使用できます。少なくとも1つのパラメータのタイプが異なります。 – Andrew
ありがとうアンドリュー、私の間違いを修正します – psaraj12