The 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 ANYDATA
.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