13.56 RESULT_CACHE句

ファンクションの結果をサーバーの結果キャッシュに保存するように指示します。

RESULT_CACHE句は、次のSQL文に指定できます。

構文

result_cache_clause ::=

セマンティクス

result_cache_clause

result_cache_clauseは、ファンクションで1回のみ記述できます。

RESULT_CACHE

ファンクションの結果がキャッシュされるようにするには、RESULT_CACHE句をファンクション定義に含めます。そのファンクションを定義する前に宣言する場合は、そのファンクションの宣言にRESULT_CACHEオプションも含める必要があります。

RESULT_CACHEの制限

  • RESULT_CACHEは、OUTパラメータまたはIN OUTパラメータを持つファンクションには使用できません。

  • RESULT_CACHEは、次の型(または次の型を含む) INパラメータまたはRETURNパラメータを持つファンクションには使用できません。

    • BLOB

    • CLOB

    • NCLOB

    • REF CURSOR

    • コレクション

    • オブジェクト

    • サポートされていない戻り型が含まれているレコードまたはPL/SQLコレクション

  • RESULT_CACHEは、無名ブロック内のファンクションには使用できません。

  • RESULT_CACHEは、パイプライン・テーブル・ファンクションとネストしたファンクションには使用できません。

RELIES_ON

ファンクションの結果が依存するデータ・ソースを指定します。それぞれのdata_sourceがデータベース表またはデータベース・ビューの名前です。

注意:

  • この句は非推奨です。Oracle Database 12c以降は、結果がキャッシュされるファンクションの実行中に問い合せられるすべてのデータ・ソースがデータベースによって検出され、RELIES_ON句は何も実行しません。

  • 無名ブロック内で宣言されたファンクションでRELIES_ON句を使用することはできません。