Usando o Oracle, tentei escrever uma função que demonstra como retornar o resultado de uma SELECT ...
consulta:
CREATE OR REPLACE FUNCTION f(v1 number) RETURN number IS
BEGIN
IF TRUE THEN
RETURN (select 42 from dual);
ELSE
RETURN v1;
END IF;
END;
Mas não compila.
Como posso corrigir o acima IF
para RETURN
retornar 42
, ou seja, o resultado de select 42 from DUAL
?
Salve o resultado de sua consulta em uma variável e retorne a variável. Por exemplo:
Certifique-se de que sua consulta sempre gere exatamente uma linha. Caso contrário, você poderá obter um erro se nenhuma linha for retornada ou se mais de uma linha for retornada.