
ストアドをコールして配列型の戻り値を取得したいのですが、
エラーが出てしまい原因が分かりません。
どなたかご教授頂けないでしょうか?
★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も見ています
-
Statement ignored というエラー
Oracle
-
ストアドの戻り値で配列を返す方法
MySQL
-
SELECT INTOで一度に複数の変数へ代入をするにはどのようにすれがよいでしょうか?
PostgreSQL
-
-
4
【PL/SQL】FROM区に変数を使う方法
Oracle
-
5
カーソル0件の時にエラーを発生させる
Oracle
-
6
ストアドプロシジャからストアドプロシジャを呼ぶには?
Oracle
-
7
ストアド実行時のエラー「参照しているコレクションは初期化されていません」
Oracle
-
8
PL/SQLをWindowsのBATファイルで実行するには
Oracle
-
9
PL/SQLでログを確認したい。
Oracle
-
10
SQL*LoaderでCSVから指定した列のみインポートしたい。
Oracle
-
11
コマンドプロンプトの「%1」と「%~1」の違いがわからない
その他(プログラミング・Web制作)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SQLのエラー(~付近に不適切な...
-
Oracle 8i コンマ(,)を含むデ...
-
PostgreSqlでFunctionの作成に...
-
SQLserverのIF文について
-
GROUP BYでエラーが発生
-
レポートが開けない。
-
Accessの特定のフォームが実行...
-
クエリの存在チェック
-
sqlで文字列を最後に追加したい
-
バッチファイルからのBCP起動に...
-
エクセルマクロで指定範囲内の...
-
何も表示されない実行時エラー...
-
ACCESS2000ディスクまたはネッ...
-
ACCESS ADOでupdateが効かない
-
ACCESSで作成したアプリケーシ...
-
エクセルのグループボックス枠...
-
¥を含む文字列を挿入するとエ...
-
ストアドの戻り値(配列)について
-
アクセスの質問です。
-
Excel-VBAの「しばらくお待ちく...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SQLのエラー(~付近に不適切な...
-
Oracle 8i コンマ(,)を含むデ...
-
エクセルマクロで指定範囲内の...
-
バッチファイルからのBCP起動に...
-
PostgreSqlでFunctionの作成に...
-
ACCESS ADOでupdateが効かない
-
sqlで文字列を最後に追加したい
-
Access2000環境に対応するMid関...
-
ACCESS2000ディスクまたはネッ...
-
クエリの存在チェック
-
何も表示されない実行時エラー...
-
GROUP BYでエラーが発生
-
エクセルからSQLサーバー ...
-
ACCESSで作成したアプリケーシ...
-
SQLServer・ストアドプロシージ...
-
エクセルのグループボックス枠...
-
SQLServerのエラー1069について
-
SQLserverのIF文について
-
オブジェクト名 '<table>' が無...
-
oo4oのMovePreviousnメソッドに...
おすすめ情報