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