Como faço para que uma variável receba um valor padrão quando o select não retornar linha nenhuma, como no exemplo abaixo:
select valor2 into variavel from tabela where valor1 = parametro
Inserir um valor em uma variável quando o select não retorna
-
- Rank: Analista Sênior
- Mensagens: 155
- Registrado em: Sex, 17 Out 2008 6:05 pm
- Localização: Campo Grande - MS
-
- Moderador
- Mensagens: 86
- Registrado em: Qua, 15 Mar 2006 2:46 pm
- Localização: São Paulo - SP
Paulo Chagas Filho
__________________
Analista Funcional / Desenvolvedor Oracle EBS
MSN - paulochagas@hotmail.com
Gtalk - pachafi@gmail.com
Skype - paulochagas
__________________
Analista Funcional / Desenvolvedor Oracle EBS
MSN - paulochagas@hotmail.com
Gtalk - pachafi@gmail.com
Skype - paulochagas
EXCEPTION
WHEN NO_DATA_FOUND THEN
variavel := <valor_padrão>;
END;
- stcoutinho
- Moderador
- Mensagens: 850
- Registrado em: Qua, 11 Mai 2011 5:15 pm
- Localização: são Paulo - SP
Humm,
Só complementando a discussão, você você quer fazer algo SEM tratamento de exceção (que neste caso é a codificação mais simples e direta), você pode então usar CURSORES.
Continuo achando que o SELECT .. INTO ..FROM .. WHERE .. (com tratamento de exceção) seria o mais rápido e simples para codificar.
Abraços,
Sergio Coutinho
Só complementando a discussão, você você quer fazer algo SEM tratamento de exceção (que neste caso é a codificação mais simples e direta), você pode então usar CURSORES.
Exemplo:
DECLARE
CURSOR cv_resultado IS
SELECT valor 2
FROM tabela
WHERE valor1 = w_parametro;
w_resultado tabela.valor2%TYPE;
BEGIN
w_resultado := <valor_padrão>;
OPEN cv_resultado;
LOOP
FETCH cv_resultado into w_resultado;
EXIT WHEN cv_resultado%NOTFOUND;
END LOOP;
CLOSE cv_resultado;
END;
Abraços,
Sergio Coutinho
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 4 visitantes