C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[1]: OracleのPL/SQLの実行


(過去ログ 121 を表示中)

[トピック内 2 記事 (1 - 2 表示)]  << 0 >>

■72584 / inTopicNo.1)  OracleのPL/SQLの実行
  
□投稿者/ やまだ (1回)-(2014/06/20(Fri) 11:41:16)

分類:[データベース全般] 

2014/06/20(Fri) 16:08:52 編集(投稿者)

<pre><pre>わからない所があるので教えてください!

Oracleのパッケージ実行の場合に引数がPL/SQL表を引数とする場合、
無名ブロックでパッケージを実行する場合に色々試してみてはいるんですが。。
下記の場合で実行した場合にエラーとなりました。
PLS-00306:'M_TEST'の呼出しで、引数の数または型が正しくありません。
同じ型でやってるつもりでしたが。。どう変更したらいいのでしょう。


パッケージ-------------------------------------------------------------------------

CREATE OR REPLACE PACKAGE TEST_PACK AS
TYPE TBL_TEST_TESTID IS TABLE OF SCOTT.TEST.TESTID%TYPE INDEX BY BINARY_INTEGER;
PROCEDURE M_TEST(inTEST_TESTID IN TBL_TEST_TESTID);
END TEST_PACK;
/
SHOW ERRORS

CREATE OR REPLACE PACKAGE BODY TEST_PACK AS
TEST_TESTID TBL_TEST_TESTID;

PROCEDURE M_TEST(inTEST_TESTID IN TBL_TEST_TESTID) IS
BEGIN
NULL;
EXCEPTION
WHEN OTHERS THEN
NULL;
END;
END TEST_PACK;
/
SHOW ERRORS
COMMIT;
パッケージ終わり-------------------------------------------------------------------------


無名ブロック-----------------------------------------------------------------------
DECLARE
TYPE TBL_TEST_TESTID IS TABLE OF SCOTT.TEST.TESTID%TYPE INDEX BY BINARY_INTEGER;
TEST_TESTID TBL_TEST_TESTID;
BEGIN
SCOTT.TEST_PACK.M_TEST(TEST_TESTID);
EXCEPTION
WHEN OTHERS THEN
NULL;
END;
/
EXIT;
無名ブロックおわり-----------------------------------------------------------------------
</pre></pre></pre></pre>
引用返信 編集キー/
■72633 / inTopicNo.2)  Re[1]: OracleのPL/SQLの実行
□投稿者/ やまだ (2回)-(2014/07/01(Tue) 09:50:44)
自己解決しました。

No72584 (やまだ さん) に返信
> 2014/06/20(Fri) 16:08:52 編集(投稿者)
>
> <pre><pre>わからない所があるので教えてください!
>
> Oracleのパッケージ実行の場合に引数がPL/SQL表を引数とする場合、
> 無名ブロックでパッケージを実行する場合に色々試してみてはいるんですが。。
> 下記の場合で実行した場合にエラーとなりました。
> PLS-00306:'M_TEST'の呼出しで、引数の数または型が正しくありません。
> 同じ型でやってるつもりでしたが。。どう変更したらいいのでしょう。
>
>
> パッケージ-------------------------------------------------------------------------
>
> CREATE OR REPLACE PACKAGE TEST_PACK AS
> TYPE TBL_TEST_TESTID IS TABLE OF SCOTT.TEST.TESTID%TYPE INDEX BY BINARY_INTEGER;
> PROCEDURE M_TEST(inTEST_TESTID IN TBL_TEST_TESTID);
> END TEST_PACK;
> /
> SHOW ERRORS
>
> CREATE OR REPLACE PACKAGE BODY TEST_PACK AS
> TEST_TESTID TBL_TEST_TESTID;
>
> PROCEDURE M_TEST(inTEST_TESTID IN TBL_TEST_TESTID) IS
> BEGIN
> NULL;
> EXCEPTION
> WHEN OTHERS THEN
> NULL;
> END;
> END TEST_PACK;
> /
> SHOW ERRORS
> COMMIT;
> パッケージ終わり-------------------------------------------------------------------------
>
>
> 無名ブロック-----------------------------------------------------------------------
> DECLARE
> TYPE TBL_TEST_TESTID IS TABLE OF SCOTT.TEST.TESTID%TYPE INDEX BY BINARY_INTEGER;
> TEST_TESTID TBL_TEST_TESTID;
> BEGIN
> SCOTT.TEST_PACK.M_TEST(TEST_TESTID);
> EXCEPTION
> WHEN OTHERS THEN
> NULL;
> END;
> /
> EXIT;
> 無名ブロックおわり-----------------------------------------------------------------------
> </pre></pre></pre></pre>
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -