Oracle 11g – Criando tabela a partir de um arquivo XML
Crie um diretório no oracle e coloque o arquivo xml desejado dentro dele.
Segue um exemplo:
CREATE TABLE T_ORGAO_SIORG AS SELECT CAST(TO_NUMBER(extractValue(value(x),'Dados_Cadastro/Codigo'))AS NUMBER(10) ) CD_ORGAO_SIORG, CAST(extractValue(value(x),'Dados_Cadastro/Nome') AS VARCHAR2(110)) NM_ORGAO_SIORG, CAST(extractValue(value(x),'Dados_Cadastro/Sigla') AS VARCHAR2(6)) SG_ORGAO_SIORG_, CAST(TO_NUMBER(extractValue(value(x),'Dados_Cadastro/Codigo_Pai'))AS NUMBER(10) ) CD_ORGAO_SIORG_PAI, CAST(extractValue(value(x),'Dados_Cadastro/Site') AS VARCHAR2(70)) ED_SITE FROM TABLE(XMLSEQUENCE(EXTRACT(XMLTYPE(BFILENAME('MEU_DIRETORIO_ORACLE','Estrutura_Organizacional.xml'),nls_charset_id('WE8MSWIN1252')),'/Estrutura_Organizacional/Orgao/Dados_Cadastro'))) X; |
Referências: