ANYDATA database type can contain data of different types. To load the
ANYDATA type using SQL*loader, it must be explicitly constructed by using a function call. The function is called using support for SQL strings as has been described in this section.
For example, suppose you have a table with a column named
miscellaneous which is of type
ANYDATA. You could load the column by doing the following, which would create an
ANYDATA type containing a number.
LOAD DATA INFILE * APPEND INTO TABLE ORDERS ( miscellaneous CHAR "SYS.ANYDATA.CONVERTNUMBER(:miscellaneous)" ) BEGINDATA 4
There can also be more complex situations in which you create an
ANYDATA type that contains a different type depending upon the values in the record. To do this, you could write your own PL/SQL function that would determine what type should be in the
ANYDATA type, based on the value in the record, and then call the appropriate
Convert*() function to create it.
Oracle Database SQL Language Reference for more information about the
ANYDATA database type
Oracle Database PL/SQL Packages and Types Reference for more information about using
ANYDATA with PL/SQL