Vou fazer os testes.
Obrigado pelas dicas!
Ana

--- Anderson Haertel Rodrigues
<[EMAIL PROTECTED]> escreveu:


---------------------------------
Não, Ana.

As funções servem para tabelas xmltype e colunas
xmltype. Não existe essa "limitação".

Quanto ao ExtractValue() eu tive um problema com ele
(elementos com o mesmo nome, no mesmo conjunto XML)
que  resolvi usando algumas "gambiarras" no SELECT.

Anderson Haertel Rodrigues
Administrador de Banco de Dados - DBA
Florianópolis/SC
[EMAIL PROTECTED]

--- Ana Leticia <[EMAIL PROTECTED]> escreveu:

> Valeu, Diego, obrigado pela dica.
> Vou fazer esses testes aqui.
>
> Agora... Anderson, para usar o extract() ou
> extractValue(), a tabela deve ser do tipo XMLType,
> não
> é isso? No meu caso, só a coluna é do tipo XMLType
> (precisarei ter campos "normais" nessa tabela).
>
>
> --- Diego Augusto <[EMAIL PROTECTED]>
> escreveu:
>
>
> ---------------------------------
> Faz assim então:
>
> SQL> select
>   2  filename
>   3  FROM xml_teste
>   4  WHERE existsNode(xml_document,
> '//*[codigo_identificacao=2]') = 1;
>
> FILENAME
>
----------------------------------------------------------------
> lista.xml
>
> Onde o *2 *é o valor que você quer testar
>
>
> SQL> select
>   2  filename
>   3  FROM xml_teste
>   4  WHERE existsNode(xml_document,
> '//*[codigo_identificacao=6]') = 1;
>
> no rows selected
>
> Em 16/05/06, Ana Leticia <[EMAIL PROTECTED]>
> escreveu:
> >
> >  Olá, Diego!
> > Então... usando o getStringVal(), ele me retorna o
> > conteudo das tag's concatenado, e não é isso que
> eu
> > quero, deu pra entender?
> > Imagine que eu tenha uma repetição de clientes:
> Ana,
> > Maria, Julia.... e quero procurar pela Maria. Como
> ele
> > me trará AnaMariaJulia, eu terei de usar um
> "like",
> > mas isso acaba com os meus índices.
> >
> >
> > --- Diego Augusto <[EMAIL PROTECTED]>
> > escreveu:
> >
> >
> > ---------------------------------
> >
> > Ana,
> >
> > você precisa colocar o getStringVal()
> >
> > então seu codigo deve ficar assim:
> >
> > SQL> select t.filename
> >   2  from xml_teste t
> >   3  where
> >
>
t.xml_document.extract('//*/codigo_identificacao/text()').getStringVal()
> > = '2'
> >   4  ;
> >
> > no rows selected
> > Não selecionou nenhuma linha porque o retorno da
> > clausa where é '1234'
> > (igual ao seu primeiro select)
> >
> >
> >
> >
> > SQL> select t.filename
> >   2  from xml_teste t
> >   3  where
> >
>
t.xml_document.extract('//*/codigo_identificacao/text()').getStringVal()
> > = '1234'
> >   4  ;
> >
> > FILENAME
> >
>
----------------------------------------------------------------
> > lista.xml
> > Att,
> > Diego
> >
> > 2006/5/16, AnaLeticia Vilela
> <[EMAIL PROTECTED]>:
> > >
> > >  Caros, utilizo o Oracle 10G e estou querendo
> pegar
> > um valor de uma tag
> > > que
> > > tem repetição dentro do meu xml e não consigo,
> será
> > que alguém teria
> > > alguma
> > > dica?
> > >
> > > CREATE TABLE xml_teste (filename VARCHAR2(64),
> > xml_document XMLType);
> > >
> > > INSERT INTO xml_teste (filename, xml_document)
> > >   VALUES ('lista.xml',
> > >           XMLType(bfilename('XMLDIR',
> 'lista.xml'),
> > >           nls_charset_id('AL32UTF8')));
> > >
> > > O XML é:
> > >
> > > <?xml version="1.0" encoding="UTF-8"?>
> > > <lista
> >
>
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> > > xsi:schemaLocation="/lista.xsd">
> > > <dados>
> > >
> >
>
<dado1><codigo_identificacao>1</codigo_identificacao></dado1>
> > >
> >
>
<dado2><codigo_identificacao>2</codigo_identificacao></dado2>
> > >
> >
>
<dado3><codigo_identificacao>3</codigo_identificacao></dado3>
> > >
> >
>
<dado4><codigo_identificacao>4</codigo_identificacao></dado4>
> > > </dados>
> > > </lista>
> > >
> > >
> > > select t.filename, t.xml_document.extract
> > > ('//*/codigo_identificacao/text()')
> > > from xml_teste t;
> > >
> > > FILENAME
> > >
> >
>
----------------------------------------------------------------
> > >
> >
>
T.XML_DOCUMENT.EXTRACT('//*/CODIGO_IDENTIFICACAO/TEXT()')
> > >
> >
>
--------------------------------------------------------------------
> > > lista.xml
> > > 1234
> > >
> > > Eu queria que os valore fosse retornados
> > separamente, e qdo eu quero
> > > consultar apenas uma repetição, tipo repetição =
> 2,
> > só com o like que
> > > funciona e aí perco meu indice.
> > >
> > >
> > > DES> select t.filename
> > >   2  from xml_teste t
> > >   3  where
> >
>
t.xml_document.extract('//*/codigo_identificacao/text()')
> > like
> > > '%2%';
> > >
> > > FILENAME
> > >
> >
>
----------------------------------------------------------------
> > > lista.xml
> > >
> > >
> > > e qdo eu coloco o operador '=' (igual), vem o
> > seguinte erro:
> > >
> > >   1  select t.filename
> > >   2  from xml_teste t
> > >   3* where
> >
>
t.xml_document.extract('//*/codigo_identificacao/text()')
> > = '2'
> > > DES> /
> > > where
> >
>
t.xml_document.extract('//*/codigo_identificacao/text()')
> > = '2'
> > >                      *
> > > ERRO na linha 3:
> > > ORA-22950: cannot ORDER objects without MAP or
>
=== message truncated ===



           
_______________________________________________________

Abra sua conta no Yahoo! Mail: 1GB de espaço, alertas
de e-mail no celular e anti-spam realmente eficaz.
http://br.info.mail.yahoo.com/


--------------------------------------------------------------------------------------------------------------------------
Atenção! As mensagens deste grupo são de acesso
público e de inteira responsabilidade de seus
remetentes.
Acesse:
http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/

--------------------------------------------------------------------------------------------------------------------------__________________________________________________________________

Este Grupo recebe o apoio da SQL Magazine -
www.devmedia.com.br/sqlmagazine
__________________________________________________________________
O grupo Oracle_br não aceita anexos. Quando oferecer
algum arquivo, tenha o link do mesmo para evitar
trafego(pedidos) desnecessário.

             
                  Yahoo! Grupos, um serviço oferecido
por:                    PUBLICIDADE
var lrec_target="_top";var lrec_URL=new
Array();lrec_URL[1]="http://br.ard.yahoo.com/SIG=12ff6erb9/M=396559.7942981.9411632.2369893/D=brclubs/S=2137114689:HM/Y=BR/EXP=1147822684/A=3690222/R=0/id=flashurl/SIG=154daec8p/*http://lt.dell.com/lt/lt.aspx?CID=12903&LID=339725&DGC=BA&DGSeg=DHS&DURL=http://www1.la.dell.com/content/products/category.aspx/desktops?c%3dbr%26l%3dpt%26s%3ddhs";var
lrec_flashfile="http://br.i1.yimg.com/br.yimg.com/i/br/ads7/160506_y300x250_maio02_dhs_dimension5150.swf?clickTAG=_javascript_:LRECopenWindow(1)";var
lrec_altURL="http://br.ard.yahoo.com/SIG=12ff6erb9/M=396559.7942981.9411632.2369893/D=brclubs/S=2137114689:HM/Y=BR/EXP=1147822684/A=3690222/R=1/id=altimg/SIG=154daec8p/*http://lt.dell.com/lt/lt.aspx?CID=12903&LID=339725&DGC=BA&DGSeg=DHS&DURL=http://www1.la.dell.com/content/products/category.aspx/desktops?c%3dbr%26l%3dpt%26s%3ddhs";var
lrec_altimg="http://br.i1.yimg.com/br.yimg.com/i/br/ads7/160506_y300x250_maio02_dhs_dimension5150.gif";var
lrec_width=300;var lrec_height=250;                  
 
 
---------------------------------
Links do Yahoo! Grupos

   Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/oracle_br/

   Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

   O uso que você faz do Yahoo! Grupos está sujeito
aos Termos do Serviço do Yahoo!.




     



     
           
_______________________________________________________
Yahoo! doce lar. Faça do Yahoo! sua homepage.
http://br.yahoo.com/homepageset.html



--------------------------------------------------------------------------------------------------------------------------
Atenção! As mensagens deste grupo são de acesso público e de inteira responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/
--------------------------------------------------------------------------------------------------------------------------__________________________________________________________________

Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine
__________________________________________________________________
O grupo Oracle_br não aceita anexos. Quando oferecer algum arquivo, tenha o link do mesmo para evitar trafego(pedidos) desnecessário.



Yahoo! Grupos, um serviço oferecido por:
PUBLICIDADE


Links do Yahoo! Grupos

Responder a