Talvez você consiga executar esse insert a partir de um trigger do tipo
statement.

Desculpe as respostas rápidas e curtas.

Att.

Evandro Giachetto
Oracle SQL Expert
Oracle Certified Associate
evan...@clickinterativa.com.br


Em 4 de fevereiro de 2010 10:02, Márcio Ricardo Alves da Silva <
marcio_...@yahoo.com.br> escreveu:

>
>
> Então, até chamando pela PROC me apresenta o mesmo erro.
>
>
> ----- Original Message -----
> From: "Evandro Giachetto" 
> <evandrogiache...@gmail.com<evandrogiachetto%40gmail.com>
> >
> To: <oracle_br@yahoogrupos.com.br <oracle_br%40yahoogrupos.com.br>>
> Sent: Wednesday, February 03, 2010 4:49 PM
> Subject: Re: [oracle_br] campo CLOB
>
> Hmm. Tá ai seu problema.
>
> acontece que campos LOB em triggers são "Read Only". --->
> http://oci-22275.ora-code.com/
>
> Se seu trigger for before insert ou update e não for um trigger STATEMENT,
> o
> problema NÃO ESTÁ NO :NEW.
>
> Tente fazer essa insersão de CLOB via procedure.
>
> Att.
>
> Evandro Giachetto
> Oracle SQL Expert
> Oracle Certified Associate
> evan...@clickinterativa.com.br <evandro%40clickinterativa.com.br>
>
> Em 3 de fevereiro de 2010 16:36, Márcio Ricardo Alves da Silva <
> marcio_...@yahoo.com.br <marcio_cbj%40yahoo.com.br>> escreveu:
>
> >
> >
> > Evandro, adaptei o que você sugeriu no meu código, segue abaixo:
> > INSERT INTO
> > NFF02_DOC(ID_FILIAL,
> > UF_ORIGEM,
> > CNPJ_EMITENTE,
> > NUMERO,
> > SERIE,
> > TP_RECEPCAO,
> > DT_EMISSAO,
> > CHAVE_ACESSO,
> > MOD,
> > VERSAO_SEFAZ,
> > TP_EMIS,
> > FLAG,
> > XML
> > ) values
> > (:new.ID_FILIAL,
> > :new.UF_ORIGEM,
> > :new.CNPJ_EMITENTE,
> > :new.NUMERO,
> > :new.SERIE,
> > :new.TP_RECEPCAO,
> > :new.DT_EMISSAO,
> > :new.CHAVE_ACESSO,
> > :new.MOD,
> > :new.VERSAO_SEFAZ,
> > :new.TP_EMIS,
> > DECODE(:new.TP_FILA,'1','00000100','00000000') ,
> > empty_clob()) returning XML into V_LOB;
> >
> > DBMS_LOB.append(V_LOB,:new.xml);
> >
> > E recebo o seguinte erro:
> >
> > Erro: ORA-22275: invalid LOB locator specified
> > ORA-06512: at "SYS.DBMS_LOB", line 318
> > ORA-06512: at "NFE.NFF01_BI", line 62
> > ORA-04088: error during execution of trigger 'NFE.NFF01_BI'
> >
> > Esse meu código está numa trigger. Acho que não tem jeito mesmo, como diz
>
> > a
> >
> > nota do metalink, o que acha?
> >
> > O meu problema deve ser porque estou usando com :NEW e ai não vai.
> >
> > Att,
> > Márcio.
> >
> > ----- Original Message -----
> > From: "Evandro Giachetto"
> > <evandrogiache...@gmail.com <evandrogiachetto%40gmail.com>
> <evandrogiachetto%40gmail.com>
> > >
> > To: <oracle_br@yahoogrupos.com.br 
> > <oracle_br%40yahoogrupos.com.br><oracle_br%
> 40yahoogrupos.com.br>>
> > Sent: Monday, February 01, 2010 1:30 PM
> > Subject: Re: [oracle_br] campo CLOB
> >
> > Cara, o problema é que está fazendo de forma errada.
> >
> > Tente o seguinte
> >
> > Um exemplo rápido seria esse:
> >
> > insert into t(x,y) values (1, empty_clob()) returning y into v_lob;
> > dbms_lob.append(v_lob, 'texto a ser inserido no clob');
> >
> > Um exemplo mais completo:
> >
> > CREATE TABLE don (x clob);
> >
> > DECLARE
> > l_clob clob;
> > BEGIN
> > FOR i IN 1..10
> > LOOP
> > INSERT INTO don (x) VALUES (empty_clob())
> > RETURNING x INTO l_clob;
> >
> > -- create a 400,000 bytes clob
> > FOR i IN 1..100
> > LOOP
> > dbms_lob.append(l_clob, rpad ('*',4000,'*'));
> > END LOOP;
> > END LOOP;
> > END;
> >
> > Atenciosamente
> >
> > Evandro Giachetto
> > Oracle SQL Expert
> > Oracle Certified Associate
> > evan...@clickinterativa.com.br <evandro%40clickinterativa.com.br><evandro%
> 40clickinterativa.com.br>
>
> >
> > Em 1 de fevereiro de 2010 12:28, Márcio Ricardo Alves da Silva <
> > marcio_...@yahoo.com.br <marcio_cbj%40yahoo.com.br> <marcio_cbj%
> 40yahoo.com.br>> escreveu:
>
> >
> > >
> > >
> > > Procurando no Metalink, achei a nota:
> > >
> > > ORA-22275 While Referring To LOB Value Using :NEW Operator [ID
> 206268.1]
> > >
> > > De acordo com a nota, eu não consigo fazer um insert com :NEW, e que só
>
> > > é
> > > possível a partir da release 9.2.0.1. Alguém sabe de alguma coisa, se
> > teve
> > > alguma correção, ou como eu procuro no metalink mais a respeito ou esse
>
> > > é
> >
> > > o
> > > ponto final do problema?
> > >
> > > Se não tiver solução, terei que fazer via aplicação e não em trigger.
> > >
> > > Grato,
> > >
> > > Márcio.
> > >
> > > ----- Original Message -----
> > > From: Márcio Ricardo Alves da Silva
> > > To: oracle_br@yahoogrupos.com.br <oracle_br%40yahoogrupos.com.br>
> > > <oracle_br%40yahoogrupos.com.br><oracle_br%
> > 40yahoogrupos.com.br>
> > > Sent: Monday, February 01, 2010 12:12 PM
> > > Subject: Re: [oracle_br] campo CLOB
> > >
> > > Pessoal, ainda não consegui resolver o problema do INSERT em campo
> CLOB,
> > > alguém tem alguma sugestão?
> > >
> > > Banco: Oracle8i.
> > >
> > > Márcio.
> > > ----- Original Message -----
> > > From: Márcio Ricardo Alves da Silva
> > > To: oracle_br@yahoogrupos.com.br <oracle_br%40yahoogrupos.com.br>
> > > <oracle_br%40yahoogrupos.com.br><oracle_br%
> > 40yahoogrupos.com.br>
> > > Sent: Thursday, January 28, 2010 8:13 AM
> > > Subject: Re: [oracle_br] campo CLOB
> > >
> > > Segue o erro:
> > >
> > > ora-22275 invalid lob locator specified
> > >
> > > Tentei a solução com:
> > >
> > > insert into t(x,empty_clob()) values (1, v_lob) returning y into v_lob
> > >
> > > dbms_log.writeappend(v_lob, length(v_lob), y);
> > >
> > > O campo que estou querendo gravar é CLOB, ele recebe strings de
> arquivos
> > > XMLs.
> > > ----- Original Message -----
> > > From: "Evandro Giachetto"
> > > <evandrogiache...@gmail.com 
> > > <evandrogiachetto%40gmail.com><evandrogiachetto%
> 40gmail.com>
> > <evandrogiachetto%40gmail.com>
> > > >
> > > To: <oracle_br@yahoogrupos.com.br <oracle_br%40yahoogrupos.com.br>
> > > <oracle_br%40yahoogrupos.com.br><oracle_br%
> > 40yahoogrupos.com.br>>
> > > Sent: Tuesday, January 26, 2010 1:21 PM
> > > Subject: Re: [oracle_br] campo CLOB
> > >
> > > Pode nos informar qual é o erro?
> > >
> > > Att.
> > >
> > > Evandro Giachetto
> > > Oracle SQL Expert
> > > Oracle Certified Associate
> > > evan...@clickinterativa.com.br <evandro%40clickinterativa.com.br>
> > > <evandro%40clickinterativa.com.br><evandro%
>
> > 40clickinterativa.com.br>
> >
> > >
> > > 2010/1/26 Márcio Ricardo Alves da Silva
> > > <marcio_...@yahoo.com.br <marcio_cbj%40yahoo.com.br> <marcio_cbj%
> 40yahoo.com.br><marcio_cbj%
>
> > 40yahoo.com.br>
> >
> > > >
> > >
> > > >
> > > >
> > > > Boas.
> > > >
> > > > Tenho um cliente que tem o banco Oracle 8i (creio que deva ser a
> > > > ultima
> > > > versão do mesmo, senão me engano 8.1.7) que tem uma trigger Before
> > > Insert,
> > > > e
> > > > nessa trigger tem um campo CLOB, quando vai se fazer um insert no
> > > > campo
> > > > CLOB
> > > > que recebe o :new.CLOB dá erro.
> > > >
> > > > Alguém tem algum banco com essas caracteristicas que trabalhe com
> > > > campo
> > > > CLOB e como resolver?
> > > >
> > > > Grato,
> > > > Márcio.
> > > >
> > > > [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/oracle_br@yahoogrupos.com.br/
> > > ----------------------------------------------------------
> > > >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]
> > >
> > >
> > >
> >
> > [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/oracle_br@yahoogrupos.com.br/
> > ----------------------------------------------------------
> > >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/oracle_br@yahoogrupos.com.br/
> ----------------------------------------------------------
> >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/oracle_br@yahoogrupos.com.br/ 
--------------------------------------------------------------------------------------------------------------------------
>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:
    oracle_br-unsubscr...@yahoogrupos.com.br

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html


Responder a