ANYDATA
データベース型には、異なる型のデータを格納できます。SQL*loaderを使用してANYDATA
型をロードするには、ファンクション・コールによって明示的に構築する必要があります。ファンクションは、この項で説明したとおり、SQL文字列のサポートを使用してコールします。
たとえば、ANYDATA
型のmiscellaneous
という名前の列を含む表があるとします。この列は、次のようにしてロードできます。この場合、番号を含むANYDATA
型が作成されます。
LOAD DATA INFILE * APPEND INTO TABLE ORDERS ( miscellaneous CHAR "SYS.ANYDATA.CONVERTNUMBER(:miscellaneous)" ) BEGINDATA 4
レコード内の値によっては、さらに複雑な条件で、異なる型を含むANYDATA
型を作成する場合もあります。そのためには、レコード内の値に基づいて、ANYDATA
型にする型を決定する独自のファンクションを記述し、適切なANYDATA
.Convert*()
ファンクションをコールしてその型を作成する必要があります。
関連項目:
ANYDATA
データベース型の詳細は、『Oracle Database SQL言語リファレンス』を参照してください。
PL/SQLでのANYDATA
の使用方法の詳細は、『Oracle Database PL/SQLパッケージおよびタイプ・リファレンス』を参照してください。