Jales, vou insistir: NÃO há necessidade de código extra para mover/copiar  
o conteúdo de um campo/variável do tipo XML para um campo/variável do tipo  
CLOB.
.
Uma simples atribuição (conforme escrevi nas respostas anteriores) é o  
suficiente.
.
Uso a função .getCLOBval() em XMLs com mais de 60k nas versões 10gR2 e  
11gR2 e funciona bem.
.
Étore

On Mon, 14 May 2012 15:18:24 -0300, Jales Jose Moraes  
<[email protected]> wrote:

> É, acho que devo criar uma proc, meu xml tem aproximadamente 60 mil  
> bytes , campo vou inserir (mesmo com a função) ele da a mensagem  
> 14:50:49  ORA-01704: literal de string extenso demais, fiz uma pesquisa  
> me parece que tenho que concatenar de 4000 em 4000 bytes.
>  Se os senhores souber de algum procedimento menos dispendioso, agradeço.
>    
>
> ________________________________
> De: Eriovaldo Andrietta <[email protected]>
> Para: [email protected]
> Enviadas: Domingo, 13 de Maio de 2012 10:23
> Assunto: Re: [oracle_br] XML em CLOB
>
>  Olá Étore, Jales:
>
> Vejam o que já fiz um dia.
> Vc entra com um xml dentro de um clob, faz extract das colunas e trabalha
> como clob.
> Espero que ajude e não atrapalhe a discussão.
>
> -- definindo variáveis
> queryCtx DBMS_XMLQUERY.ctxType;
> v_clob_work CLOB := EMPTY_CLOB;
> v_clob_return CLOB := EMPTY_CLOB;
>
> -- Lendo um clob que contem xml
> cursor c1 is
> SELECT 1
> bloco,
> extractvalue(VALUE(COLUNA), '/<tag1>/<tag_coluna1>')
> coluna1,
> extractvalue(VALUE(COLUNA), '/<tag1>/<tab_coluna2>')
> coluna2,
> FROM TABLE(cast( XMLSEQUENCE( EXTRACT(XMLType(v_clob_work),
> '//<tag0>/<tag1>' )) as XMLSequenceType )) coluna;
>
> aqui vc pode correr o cursor e fazer insert com os dados do xml
>
> -- Gerando um xml que está num clob
> a.) preparando o sql que contem as colunas (tags) desejadas no xml
>
> v_sql := 'SELECT coluna1, coluna2
> FROM <sua_tabela>
> WHERE <suas restrições>;
>
> b.) gerando o xml através da query montada:
>
> queryCtx := DBMS_XMLQUERY.newContext(v_sql);
> DBMS_XMLQUERY.setRowTag (queryCtx, '<NOME_TAG1>');
> DBMS_XMLQUERY.setRowSetTag(queryCtx, '<NOME_TAG0>'); -- mAIS EXTERNA
> -- Armazena XML no CLOB
> v_clob_work := DBMS_XMLQUERY.getXml(queryCtx);
> DBMS_XMLQUERY.closeContext(queryCtx);
> -- Atribui para variavel de retorno
> v_clob_return := v_clob_work; -- v_clob_return é XML.
>
> Att
> Eriovaldo
>
> 2012/5/11 Étore <[email protected]>
>
>> Como eu escrevi, é o mesmo para comandos DML:
>>
>> insert into jcm values ( variavel_xml.getCLOBval() );
>>
>> ou
>>
>> insert into jcm select coluna_xml.getCLOBval() ...
>>
>> Étore
>>
>> On Fri, 11 May 2012 16:07:41 -0300, Jales Jose Moraes
>> <[email protected]> wrote:
>>
>> > Blz Étore?
>> > Entendi a questão do select, mas precisava da forma do insert no campo
>> > clob para dados em xml:
>> > insert into jcm values ('dados xml');
>> >
>> >
>> > ________________________________
>> > De: Étore <[email protected]>
>> > Para: grupo_oracle <[email protected]>
>> > Enviadas: Sexta-feira, 11 de Maio de 2012 12:49
>> > Assunto: Re: [oracle_br] XML em CLOB
>> >
>> > Jales
>> >
>> > Não entendi o porque da citação do navigator e do sql developer no teu
>> > post, mas quanto a conversão de tipos tu pode fazer o seguinte:
>> >
>> > variavel_clob := variavel_xml.getCLOBval();
>> >
>> > ou mesmo diretamente em um select ou dml:
>> >
>> > select coluna_xml.getCLOBval()
>> > ...
>> >
>> > Étore
>> >
>> >
>> > On Fri, 11 May 2012 12:17:16 -0300, Jales Jose Moraes
>> > <[email protected]> wrote:
>> >
>> >> Pessoal estou precisando inserir um xml em um campo CLOB, mas
>> >> diretamente não vai, fala que o tipo é incompativel. Alguem sabe como
>> >> proceder com a inserção? Utilizo o navigator, porem em uma rápida
>> >> pesquisa na web, me parece que é com o sql developer.
>> >>
>> >> [As partes desta mensagem que não continham texto foram removidas]
>> >
>> >
>> > ------------------------------------
>> >
>> >
>> ----------------------------------------------------------
>> >> Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de
>> >> inteira responsabilidade de seus remetentes.
>> > Acesse: http://www.mail-archive.com/[email protected]/
>> >
>> ----------------------------------------------------------
>> >> Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package »
>> >> Procedure » Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO
>> >> ESPAÇO! VISITE: http://www.oraclebr.com.br/
>> >
>> ----------------------------------------------------------
>> > Links do Yahoo! Grupos
>> >
>> > [As partes desta mensagem que não continham texto foram removidas]
>>
>>
>> ------------------------------------
>>
>>
>> ----------------------------------------------------------
>> >Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de
>> inteira responsabilidade de seus remetentes.
>> Acesse: http://www.mail-archive.com/[email protected]/
>>
>> ----------------------------------------------------------
>> >Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package »
>> Procedure » Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO  
>> ESPAÇO!
>> VISITE: http://www.oraclebr.com.br/
>> ----------------------------------------------------------
>> Links do Yahoo! Grupos
>>
>>
>>
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
>
>
> [As partes desta mensagem que não continham texto foram removidas]


------------------------------------

--------------------------------------------------------------------------------------------------------------------------
>Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira 
>responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/[email protected]/ 
--------------------------------------------------------------------------------------------------------------------------
>Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure » 
>Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: 
>http://www.oraclebr.com.br/  
------------------------------------------------------------------------------------------------------------------------
 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:
    http://br.yahoo.com/info/utos.html


Responder a