Oracle XML тип объекта экспорта таблицы не указывается - PullRequest
1 голос
/ 18 июня 2020

Если я выполняю экспорт таблицы с полем типа varchar2(12 char) или varchar2(12 byte), я получаю только поля XML файла типа varchar2(12). Можете ли вы получить тип объекта поля varchar2 в файле экспорта XML?

пример

create table TEST_XML 
( field1 varchar2(10 char)
, field2 varchar2(10 byte)
)

вывод в XML файле:

 <COL_LIST>
     <COL_LIST_ITEM>
        <NAME>FIELD1</NAME>
        <DATATYPE>VARCHAR2</DATATYPE>
        <LENGTH>10</LENGTH>
        <CHAR_SEMANTICS></CHAR_SEMANTICS>
     </COL_LIST_ITEM>
     <COL_LIST_ITEM>
        <NAME>FIELD2</NAME>
        <DATATYPE>VARCHAR2</DATATYPE>
        <LENGTH>10</LENGTH>
     </COL_LIST_ITEM>

Я использовал следующий оператор, который возвращает клобы с XML данными

declare 
  hDDL number;
  hXfr number;
  oDDL clob;
begin 
  hDDL := dbms_metadata.open('TABLE');
  dbms_metadata.set_filter(hDDL, 'SCHEMA', '<owner>');
  dbms_metadata.set_filter(hDDL, 'NAME', 'TEST_XML');
  hXfr := sys.dbms_metadata.add_transform(hDDL, 'SXML');
  oDDL := sys.dbms_metadata.fetch_clob(hDDL);
  dbms_metadata.close(hDDL);
end;
...