参考自:
Sys.XMLType vs. XMLType Datatypes (文档 ID 279843.1)
PURPOSE ------- This article explains the difference between sys.xmltype and xmltype datatypes. SCOPE & APPLICATION ------------------- This article is written for XML developers and Oracle DBAs. SYS.XMLType vs. XMLType Datatypes ---------------------------------- When creating a table with an XMLTYPE column,you can create the column as XMLTYPE or as SYS.XMLTYPE A subsequent DESC on the table will show the column as either XMLTYPE or SYS.XMLTYPE What is the difference,and when should SYS/XMLTYPE be used and when should XMLTYPE be used ? There is only one type by the name of '%XMLTYPE%' within the database,for example: SELECT TYPE_NAME,OWNER FROM DBA_TYPES WHERE TYPE_NAME LIKE '%XMLTYPE'; TYPE_NAME OWNER ------------------------------ -------- XMLTYPE SYS XMLTYPE is a synonym for SYS.XMLTYPE,as shown below :- SELECT SYNONYM_NAME,OWNER FROM DBA_SYNONYMS WHERE SYNONYM_NAME LIKE '%XMLTYPE%'; SYNONYM_NAME OWNER ------------------------------ ------------------------------ XMLTYPE PUBLIC In summary,you may use SYS.XMLTYPE or XMLTYPE in a table column definition. There is however an exception to the rule in Oracle 9.2,when attempting to use sqlLoader to load an XMLTYPE column,due to Abstract: sql*LOADER-418 WHILE LOADING XMLTYPE COLUMN BASED ON XMLTYPE SYNONYM (currently not published) Workaround: use only sys.xmltype to create xmltype column/table create table po5(po sys.xmltype); Fixed In Ver: 10.0.0 RELATED DOCUMENTS ----------------- Oracle XML Database online documentation