この質問で詳しく説明されているように、Oracle 10g ではサイズ制限のある OUT パラメータを作成することはできません。この状況は 11g で改善されましたか?
これに関する私の現実の問題は次のとおりです。
INET6_ATON および NTOA 関数の Oracle PL/SQL バージョンは?
どういたしまして:)しかし、私がこれらの関数について気に入らないことの1つは、RETURN CHAR(32)
関数ベースのインデックス(FBI)がインデックス全体で4000の最大VARCHAR2サイズを使用することを強制しないことです(通常はエラーになります)インデックス フィールドのサイズ制限のため)、全体を SUBSTR にカプセル化し、固定サイズを強制しない限り。インデックスが適切に使用されるように、誰もが関数を使用するだけでなく、SUBSTR カプセル化も使用していることを確認する必要があるため、これを典型的な SQL ステートメントで使用するのは見苦しいです。
仮想列はこの問題を解決しますか? srcip_iptohex
のように、IP ごとに 、 、 などの仮想列を定義してから、仮想列にsrcip_nettohex_start
CHAR srcip_nettohex_end
(32) 制限を設定します。それとも、仮想列は PL/SQL 呼び出しもサポートしていますか? 仮想列は実際には保存されないため、有用であることを確認するために列にインデックスを付ける必要があります。