Comparar e concatenar no Oracle (PL/SQL)

[ad#texto]

Vamos supor que você precise fazer a seguinte comparação no PL/SQL:

IF varTexto || varText2 || varTexto3  = ‘teste de compara texto (string)THEN
 
.....
 
END IF;

É bem provável que dependendo do tamanho máximo alcançado pela concatenação das variáveis ocorra o seguinte erro:

ORA-04030: sem espaço de memória para processo durante tentativa de alocação de 16328 bytes (koh-kghu CALL ,pmuccst: adt/record)

Embora o erro aponte para uma possível falta de memória no banco de dados Oracle na verdade a concatenação dentro do IF que está causando o erro.

Uma solução mais imediatista (embora bem deselegante) seria dividir o IF com a concatenação em 3 IF´s encadeados.

Petter Rafael
Petter Rafael

Desenvolvedor Web atua com as tecnologias Java e PHP apoiadas pelos bancos de dados Oracle e MySQL. Além dos ambientes de desenvolvimento acima possuiu amplo conhecimento em servidores Apache/Tomcat, Photoshop, Arte & Foto, Flash e mais uma dezena de ferramentas e tecnologias emergentes. Atualmente colabora com o Viablog escrevendo sobre programação e tecnologia.

Assinar blog por e-mail

Digite seu endereço de e-mail para assinar este blog e receber notificações de novas publicações por e-mail.

Junte-se a 322 outros assinantes

Busca

outubro 2020
DSTQQSS
 123
45678910
11121314151617
18192021222324
25262728293031

Categorias