私のストアド プロシージャには、次のようなコード スニペットがあります。
OPEN p_result FOR
SELECT *
FROM TABLE (CAST ( l_data AS Rpt_mapping_TableType));
COMMIT;
p_result
タイプのIN OUT
パラメータですSYS_REFCURSOR
。Rpt_mapping_TableType
ユーザー定義のコレクション型です。したがって、このカーソルは Rpt_mapping_TableType を設定するだけで、このプロシージャを呼び出すプログラムは Rpt_mapping_TableType から結果を読み取ります。私の質問はCOMMIT
、このスニペットでの使用は何ですか? コードの作成者は、カーソルを閉じる方法だと言います。そうですか?私のもう 1 つの質問は、コレクションにデータを入力したいだけなのか、それを行う必要があるのかということですOPEN p_result FOR
。結局、私はカーソルから何も読んでいないので:
SELECT * FROM TABLE (CAST ( l_data AS Rpt_mapping_TableType));
十分なはずです。
いいえ?