Pessoas bom dia.... Poderiam em ajudar?
tenho um banco 9i. Fiz um script para usar o dbms_lob.copy, porém estou tendo problemas. Alguém tem um exemplo para eu usar uma pl com manipulação de clob utilizando o dbms_lob.copy? Poderiam me passar como é o procedimento? fiz este abaixo que extraiu dde um clob a primeira ocorrência de um chr(10). depois manipulo o clob para subescrever o conteúdo apagando a seguencia lida com o conteúdo do clob da posição do chr(10)+ 1 posição. porém quando executo em modo debug ele para a execução sem mostrar o erro. begin SELECT instr (DBMS_LOB.SUBSTR(TRIM(vi_clob), 32000, 1), CHR(10), 1, 1) INTO vi_x FROM dual; -- primeira_posicao do array do chr(10) SELECT substr(DBMS_LOB.SUBSTR(TRIM(vi_clob),100,1),1,vi_x ) into vix_array FROM dual; -- extrai o array com o chr(10) SELECT substr(DBMS_LOB.SUBSTR(TRIM(vi_clob),100,1),1,vi_x - 1 ) into vi_array FROM dual; -- extrai o array sem o chr(10) ---- exclui do clob o array a ser manipulado p_what := vix_array; p_with := ''; n := dbms_lob.instr( vi_clob, p_what, l_offset ); /* Opening the LOBs is optional: */ DBMS_LOB.OPEN(vi_clob, DBMS_LOB.LOB_READWRITE); /* Copies the LOB from the source position to the destination position: */ DBMS_LOB.COPY(vi_clob, p_what,dbms_lob.getlength(vi_clob)-length(p_what),1,n+length(p_what) ); /* Closing LOBs is mandatory if you have opened them: */ DBMS_LOB.CLOSE(vi_clob); select dbms_lob.instr( vi_clob, CHR(10)) into vi_count_array >From dual; -- Extrai o array a ser manipulado end; Aguardo a ajuda dos colegas... Obrigado Rogério [As partes desta mensagem que não continham texto foram removidas]