Eu quero capturar exceção na função DB2 e retornar 0 se houver uma exceção. Eu não sei como a sintaxe correta
create function is_decimal(c_data varchar(100))
RETURNS INTEGER
begin
select cast(c_data as decimal(12,10)) from sysibm.sysdummy1;
return 1;
DECLARE EXIT HANDLER FOR SQLEXCEPTION, SQLWARNING
return 0;
end
Como @mustaccio apontou, você precisa selecionar algo e declarar o manipulador antes do código real. Algo como:
Deveria trabalhar. Eu usei @ como um terminador de instrução