Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

NaPraia

Problema no Replace

Recommended Posts

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

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

infelizmente não funcionoucontinua dando o mesmo erro e na mesma posição

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.