ストアドをコールして配列型の戻り値を取得したいのですが、
エラーが出てしまい原因が分かりません。
どなたかご教授頂けないでしょうか?
★PL/SQL★
CREATE OR REPLACE TYPE TBL_NUM10 AS VARRAY(10) OF NUMBER(10);
CREATE OR REPLACE PACKAGE TEST_PKG IS
TYPE TBL_NUM10 IS VARRAY(10) OF NUMBER(10);
PROCEDURE HAIRETU(O_CNT OUT TBL_NUM10);
END TEST_PKG;
/
CREATE OR REPLACE PACKAGE BODY TEST_PKG
IS
PROCEDURE HAIRETU(O_CNT OUT TBL_NUM10)
IS
TMP_CNT TBL_NUM10;
BEGIN
TMP_CNT := TBL_NUM10(0,0,0,0,0,0,0,0,0,0);
TMP_CNT(1) := 1;
TMP_CNT(2) := 2;
TMP_CNT(3) := 3;
O_CNT := TMP_CNT;
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE(SQLERRM);
END HAIRETU;
END TEST_PKG;
/
DECLARE
O_CNT TBL_NUM10;
BEGIN
TEST_PKG.HAIRETU(O_CNT);
DBMS_OUTPUT.PUT_LINE(O_CNT(1));
DBMS_OUTPUT.PUT_LINE(O_CNT(2));
DBMS_OUTPUT.PUT_LINE(O_CNT(3));
END;
/
★実行結果★
SQL実行中に以下のエラーが発生しました。
ORA-06550: 行4、列4:
PLS-00306: 'HAIRETU'の呼出しで、引数の数または型が正しくありません。
ORA-06550: 行4、列4:
PL/SQL: Statement ignored
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
以下のいずれかで通ると思います。
1)パッケージ宣言部から
TYPE TBL_NUM10 IS VARRAY(10) OF NUMBER(10); を削る
2)無名ブロックの変数宣言を以下の通りとする
O_CNT TEST_PKG.TBL_NUM10;
同じ名前の同じ型をスタンドアロンとパッケージ内と両方で宣言しているのが問題でしょう。
ご連絡が遅れてしまい申し訳ありません。
できました!!!
2)無名ブロックの変数宣言を以下の通りとする
O_CNT TEST_PKG.TBL_NUM10;
の通りに修正することで問題なく動作致しました。
この度はありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 配列の勉強をしています。使用する変数の意味、検索条件の書き方が難しいです。 2 2022/09/15 14:06
- Excel(エクセル) マクロ(データ取得と転記)について教えてください 3 2022/12/24 12:18
- Visual Basic(VBA) Dateserialで データ抽出 2 2022/06/26 21:07
- C言語・C++・C# 質問です 下記のコードを分かりやすく解説お願いします 初心者です #include ‹stdio.h 3 2022/05/26 22:03
- Visual Basic(VBA) VBA初心者です。 VBAで行単位で条件付き書式の色をカウントしたいです。 大量のデータがあるExc 3 2022/06/08 10:02
- Visual Basic(VBA) VBA初心者です。 VBAで行単位で条件付き書式の色をカウントしたいです。 大量のデータがあるExc 3 2022/06/08 10:00
- Visual Basic(VBA) vbaで色付けされたセルを除外したいのですが 5 2023/01/28 17:22
- Visual Basic(VBA) 日付の計算方法 2 2022/07/01 23:35
- Visual Basic(VBA) VBA Bookの表示、非表示 1 2022/09/16 20:44
- その他(プログラミング・Web制作) atcoder python コードへの助言 2 2022/08/12 15:31
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
カーソル0件の時にエラーを発生させる
Oracle
-
PL/SQLのコンパイルエラーについて(ignored)
Oracle
-
ストアドの戻り値で配列を返す方法
MySQL
-
-
4
Statement ignored というエラー
Oracle
-
5
SELECT INTOで一度に複数の変数へ代入をするにはどのようにすれがよいでしょうか?
PostgreSQL
-
6
PL/SQLカーソルの2重FORループができません
Oracle
-
7
ORA-01013のエラーについて経験のある方お願いします。
Oracle
-
8
Viewにインデックスは張れますか?
Oracle
-
9
PL/SQLでログを確認したい。
Oracle
-
10
VB.NETでコンボボックスの1行目を空白にしたい
Visual Basic(VBA)
-
11
ストアドプロシージャでcsvファイルへデータにエクスポート
SQL Server
-
12
PL/SQL PLS-00103エラーについて
Oracle
-
13
Functionの戻り値を配列にしたいのですが
Visual Basic(VBA)
-
14
ORA-01858: 数値を指定する箇所に数値以外の文字が指定されています
Java
-
15
【SQL】他テーブルに含まれる値に合致する行を抽出
その他(データベース)
-
16
エラーを起こす方法
Oracle
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Oracle 8i コンマ(,)を含むデ...
-
PostgreSqlでFunctionの作成に...
-
GROUP BYでエラーが発生
-
エクセルからSQLサーバー ...
-
SQLServerが存在しないか、アク...
-
@@ERRORと@@ROWCOUNT併用について
-
オブジェクト名 '<table>' が無...
-
ACCESS2000ディスクまたはネッ...
-
ACCESS ADOでupdateが効かない
-
エクセルマクロで指定範囲内の...
-
ACCESSで作成したアプリケーシ...
-
SQLのエラー(~付近に不適切な...
-
Access2000環境に対応するMid関...
-
ORA-1036??
-
クエリの存在チェック
-
SQL Server2008 の解析
-
sqlで文字列を最後に追加したい
-
ストアドの戻り値(配列)について
-
レポートが開けない。
-
Accessのレポートが新規作成で...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Oracle 8i コンマ(,)を含むデ...
-
SQLのエラー(~付近に不適切な...
-
GROUP BYでエラーが発生
-
エクセルマクロで指定範囲内の...
-
PostgreSqlでFunctionの作成に...
-
バッチファイルからのBCP起動に...
-
ACCESS ADOでupdateが効かない
-
ACCESSで作成したアプリケーシ...
-
sqlで文字列を最後に追加したい
-
オブジェクト名 '<table>' が無...
-
SQLserverのIF文について
-
エクセルのグループボックス枠...
-
ストアドの戻り値(配列)について
-
Access2000環境に対応するMid関...
-
エクセルからSQLサーバー ...
-
レポートが開けない。
-
ACCESS2000ディスクまたはネッ...
-
oo4oのMovePreviousnメソッドに...
-
分散トランザクションを開始で...
-
SQLServerが存在しないか、アク...
おすすめ情報