GPO ( Grupo de Profissionais Oracle )
A maior comunidade Oracle do Brasil !

RETIRANDO CARACTERES ESPECIAIS

Salve pessoal, boa tarde!
Caraca, estava olhando os demais Blogs e vi que o pessoal não esta perdendo tempo, já esta postando e fazendo o possível para auxiliar ao próximo, bom, eu não tenho tanto conhecimento como muitos aqui mas vou postar mais sobre dificuldades que eu tive e soluções encontradas, as vezes alguém poderá passar pela mesma dificuldade que eu.

Uma dificuldade que encontrei, foi quando precisei retirar caracteres especiais de alguns registros no banco de dados, mas como é errando que se aprende, acabei encontrando uma maneira, bom, como dizem, em TI nada se cria, tudo se COPIA e depois CTRL + V, hehehe.. brincadeira, na verdade o correto em dizer é que em TI, se copia algo e adapta a necessidade de cada um, abaixo script utilizado.

CREATE OR REPLACE FUNCTION RETIRA_CARACTER_ESPECIAL RETURN BOOLEAN IS
VCAMPOCHAVE           TABELA.CAMPOCHAVE%TYPE;
VVALORES              TABELA.VALORES%TYPE;

BEGIN
CURSOR cDADOS IS
SELECT CAMPOCHAVE,
UPPER(TRANSLATE(VALORES,             'ÁÇÉÍÓÚÀÈÌÒÙÂÊÎÔÛÃÕËÜáçéíóúàèìòùâêîôûãõëü?',
'ACEIOUAEIOUAEIOUAOEUaceiouaeiouaeiouaoeu-'))
FROM USUARIO.TABELA;

BEGIN
OPEN CDADOS;
LOOP
FETCH CDADOS INTO VCAMPOCHAVE, VVALORES;
EXIT WHEN CDADOS%NOTFOUND ;
UPDATE USUARIO.TABELA
SET TABELA.VALORES = VVALORES
WHERE TABELA.CAMPOCHAVE = VCAMPOCHAVE;

COMMIT;
END LOOP;
CLOSE CDADOS;
RESULT = TRUE;
END;
END RETIRA_CARACTER_ESPECIAL;

Bom, isto pode ser meio que improvisado, mas resolveu no momento da necessidade.

Abraços 🙂

Share

You may also like...

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *