1

次のような手順があります。

  PROCEDURE myprocedure (
      i_area        IN       somenumber%TYPE,
      io_areadata   IN OUT   areacursor
   );

そして、プロシージャを呼び出す簡単な方法があるのだろうか? 最初の引数にはデータがありますが、2 番目の引数には何が入るかわかりません。空のカーソルなどを入力する方法はありますか?

これは私がこれまでに行ったことです:

BEGIN
package.myprocedure (
      12345
   );
END;

そして、それは私に次のエラーを与えます:

Error report:
ORA-06550: row 2, column 1:
PLS-00306: wrong number or types of arguments in call to 'MYPROCEDURE'
ORA-06550: row 2, column 1:
PL/SQL: Statement ignored
06550. 00000 -  "line %s, column %s:\n%s"
*Cause:    Usually a PL/SQL compilation error.

事前に感謝し、私の(おそらく)説明が不十分で申し訳ありません。PL/SQL の経験はほとんどありません。

4

2 に答える 2

3

そのパラメータを指定する必要があります。あなたはこれを行うことができます:

DECLARE
   dummy package.areacursor;
BEGIN
package.myprocedure (
      12345, dummy
   );
END;
于 2012-10-16T12:44:29.833 に答える
0

このようにして、特定の値を特定のパラメータに渡すことで、ストアド プロシージャを呼び出すことができます。これを試して。

Begin

package.myprocedure(i_area => '12345);

end;
于 2013-11-20T05:51:05.447 に答える