Если я выполняю экспорт таблицы с полем типа 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;