[oracle_br] Re: XML para relacional

2010-03-11 Por tôpico zfurquim
Evandro (e demais colegas),

Obrigado pela ajuda e atenção.

Como você disse que está trabalhando com isso, vou tentar explicar abaixo a 
minha dificuldade e pedir novamente sua colboração, pois o link que me passou 
eu já tinha pesquisado várias vezes, lido e relido mas ainda assim não 
entendido como funciona.
Veja meu exemplo, que montei pesquisando e tentando adaptar as minhas 
necessidades:

DSV> CREATE TABLE warehouses(
  2warehouse_id NUMBER(4),
  3warehouse_spec XMLTYPE,
  4warehouse_name VARCHAR2(35),
  5location_id NUMBER(4))
  6  /

Tabela criada.

DSV> INSERT INTO warehouses VALUES
  2  (   101, XMLType(
  3  ''||
  4  'http://www.coware.de";>'||
  5  ''||
  6  ''||
  7  ''), 'Tower Records', 1004)
  8  /

1 linha criada.

DSV> column material format a30
DSV> column tipo format a30
DSV> SELECT
  2w.warehouse_spec.extract('/ads/ad/@orre_ds').getStringVal() material,
  3w.warehouse_spec.extract('/ads/ad/@rese_cd').getStringVal() tipo
  4  FROM warehouses w
  5  /

MATERIAL   TIPO
-- --
CHAPA CURTACHAPA LISA  768490768639

DSV> 

Como pode ver, o retorno que tenho é em uma unica linha com os conteudos 
concatenados, quando o que preciso é que cada registro do xml corresponda a uma 
linha no select:

MATERIAL   TIPO
-  -
CHAPA CURTA768490
CHAPA LISA 768639

Fico grato com o que puder ajudar.

Abs,
Zilmar Furquim


--- Em oracle_br@yahoogrupos.com.br, Evandro Giachetto  
escreveu
>
> Estou trabalhando com isso ha algum tempo.
> 
> Basicamente você pode utilizar o xmltype.
> 
> Com ele, você pode facilmente navegar entre os nós do xml e recuperar os
> valores de cada tag individualmente.
> 
> Segue um link para que conheça melhor.
> 
> http://download.oracle.com/docs/cd/B10501_01/appdev.920/a96620/xdb04cre.htm#1024805
> 
> Atenciosamente.
> 
> 
> Evandro Giachetto
> Oracle SQL Expert
> Oracle Certified Associate
> evan...@...
> 
> 
> Em 11 de março de 2010 14:52, zfurquim  escreveu:
> 
> >
> >
> > Alguém tem alguma sugestão ?
> >
> > Abs
> > Zilmar Furquim
> >
> > --- Em oracle_br@yahoogrupos.com.br ,
> > "zfurquim"  escreveu
> >
> > >
> > > Amigos,
> > >
> > > Mais uma vez venho pedir a ajuda de vocês.
> > > Nçao tenho experência com XML, tentei usar as funções mas estou com
> > dificuldade para resolver algo que provavelmente é bem simples:
> > >
> > > Tenho o xml abaixo, que está num campo clob.
> > > Preciso carregar os campos do XML para uma outra tabela através de
> > PL/SQL.
> > > Existem vários registros no XML, que devem corresponder a várias linhas
> > da tabela
> > >
> > > XML Origem:
> > > 
> > > http://www.coware.de";>
> > >  > reed_cd_edicao="1796" rese_cd="768490" itre_nr="1" paging="64" sheet="5"/>
> > >  > rese_cd="768639" itre_nr="1" paging="71" sheet="6"/>
> > > 
> > >
> > > Tabela Destino:
> > > ad_date date
> > > orre_ds varchar2(50)
> > > reed_cd_edicao varchar2(10)
> > > rese_cd number
> > > itre_nr number
> > > paging number
> > > sheet number
> > >
> > > Minha versão banco
> > > Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit
> > Production
> > > With the Partitioning, Oracle Label Security, OLAP and Data Mining
> > Scoring Engine options
> > >
> > > Grato pela ajuda
> > > Zilmar Furquim
> > > Synchro Systems
> > >
> >
> >  
> >
> 
> 
> [As partes desta mensagem que não continham texto foram removidas]
>




[oracle_br] Re: XML para relacional

2010-03-11 Por tôpico zfurquim
Alguém tem alguma sugestão ?

Abs
Zilmar Furquim

--- Em oracle_br@yahoogrupos.com.br, "zfurquim"  escreveu
>
> Amigos,
> 
> Mais uma vez venho pedir a ajuda de vocês.
> Nçao tenho experência com XML, tentei usar as funções mas estou com 
> dificuldade para resolver algo que provavelmente é bem simples:
> 
> Tenho o xml abaixo, que está num campo clob.
> Preciso carregar os campos do XML para uma outra tabela através de PL/SQL.
> Existem vários registros no XML, que devem corresponder a várias linhas da 
> tabela
> 
> XML Origem:
> 
> http://www.coware.de";>
> rese_cd="768490" itre_nr="1" paging="64" sheet="5"/>
> rese_cd="768639" itre_nr="1" paging="71" sheet="6"/>
> 
> 
> Tabela Destino:
> ad_date date
> orre_ds varchar2(50)
> reed_cd_edicao  varchar2(10)
> rese_cd number
> itre_nr number
> paging  number
> sheet   number
> 
> Minha versão banco
> Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
> With the Partitioning, Oracle Label Security, OLAP and Data Mining Scoring 
> Engine options
> 
> Grato pela ajuda
> Zilmar Furquim
> Synchro Systems
>




[oracle_br] XML para relacional

2010-03-10 Por tôpico zfurquim
Amigos,

Mais uma vez venho pedir a ajuda de vocês.
Nçao tenho experência com XML, tentei usar as funções mas estou com dificuldade 
para resolver algo que provavelmente é bem simples:

Tenho o xml abaixo, que está num campo clob.
Preciso carregar os campos do XML para uma outra tabela através de PL/SQL.
Existem vários registros no XML, que devem corresponder a várias linhas da 
tabela

XML Origem:

http://www.coware.de";>
   
   


Tabela Destino:
ad_date date
orre_ds varchar2(50)
reed_cd_edicao  varchar2(10)
rese_cd number
itre_nr number
paging  number
sheet   number

Minha versão banco
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
With the Partitioning, Oracle Label Security, OLAP and Data Mining Scoring 
Engine options

Grato pela ajuda
Zilmar Furquim
Synchro Systems




[oracle_br] Gerar TXT de coluna XMLTYPE

2010-01-13 Por tôpico zfurquim
Colegas,

Preciso criar uma procedure que gere arquivos XML através de UTL_FILE.
Tenho um cursor que retorna uma coluna com o XML certinho, mas estou com erro 
quando vou gravar a linha utilizando o UTL_FILE.PUT_LINE.

Acredito que a coluna gerada pelo cursor é do tipo XMLTYPE, o que deve estar 
causando o erro pois o UTL_FILE.PUT_LINE espera VARCHAR.

Como posso fazer para converter a coluna XMLTYPE para VARCHAR2?

Alguém já gerou arquivos XML e pode me ajudar a resolver esse problema ou 
sugerir alguma outra solução?

Abs,
Zilmar Furquim