NaPraia 12 Denunciar post Postado Dezembro 6, 2006 Oi Pessoal, não sei se estou fazendo da forma certa, olhem só como estou fazendo. Text_IO.Get_Line(arquivo, linha);replace(linha,''chr(39)'',''chr(42)'');Forms_DDL(' Declare Begin' ||' pkg_hc_importa_cd_ibge.importacao_ibge('''||linha ||''' );' ||'End;'); Que algumas cidades brasileiras se escrevem da seguinte forma: d´Oeste só que aquela aspinha dá erro quando vou tentar chamar a package. Minha intensão era modificar ela para o * e dentro da package mudar de novo para poder gravar no banco. Só que da forma que está, dá erro (ora-01756). O que eu poderia fazer??? Alguma sugestão??? Obrigado Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Dezembro 6, 2006 tenta algo asim : declare lixo varchar2(100); begin lixo := 'linha d' || '''' || 'agua'; Dbms_Output.put_line(lixo); lixo := replace(lixo,chr(39),chr(42)); Dbms_Output.put_line(lixo); end; acho que faltou atribuir é o chr não precisa de '' Compartilhar este post Link para o post Compartilhar em outros sites
NaPraia 12 Denunciar post Postado Dezembro 6, 2006 infelizmente não funcionoucontinua dando o mesmo erro e na mesma posição Compartilhar este post Link para o post Compartilhar em outros sites
NaPraia 12 Denunciar post Postado Dezembro 6, 2006 Funcionou !!!!! http://forum.imasters.com.br/public/style_emoticons/default/clap.gif linha VARCHAR2(500) := null;S VARCHAR2(100) := null;begin SET_APPLICATION_PROPERTY(CURSOR_STYLE,'BUSY'); arquivo := Text_IO.Fopen(:ds_arquivo, 'r'); begin loop S := ''; Text_IO.Get_Line(arquivo, linha); FOR i IN 1..length(linha)+1 LOOP IF substr(linha,i,1) = CHR(39) THEN S := S||CHR(42); ELSE S := S||substr(linha,i,1); END IF; END LOOP; linha := S; Forms_DDL(' Declare Begin' ||' pkg_hc_importa_cd_ibge.importacao_ibge('''||linha ||''' );' ||'End;'); Perco um pouco de performance, mas funciona. Agora vou ter que fazer o arquivo que a ANS manda com o nome de todos os estabelecimentos de saúde do brasil. Só que já achei pelo menos 3 ocorrencias de aspinhas no nomes. Deveria ser proibido colocar aspinha nos nomes. Valeu !!!!! Compartilhar este post Link para o post Compartilhar em outros sites