J'ai un ensemble de fonctions pl/sql, tous retournant un type booléen.
J'appelle ces fonctions d'une autre fonction pl/sql une par une. Je veux "accumuler" les résultats et le renvoyer de cette fonction.arithmétique booléenne dans plsql
Par exemple:
v_res boolean;
v_res2 boolean := true;
begin
v_res := f1('aa');
if v_res = false then
v_res2 := false;
end if;
v_res := f2('aa');
if v_res = false then
v_res2 := false;
end if;
-- some other calls to other functions
return v_res2;
end;
Je me demandais, je peux faire de l'arithmétique booléenne dans pl/sql?
je veux dire quelque chose comme ceci:
v_res boolean := true;
begin
v_res := v_res * f1('aa');
v_res := v_res * f2('aa');
-- more calls to functions
return v_res;
end;
J'ai essayé:
v_res := v_res * false;
et
v_res := v_res and false;
mais la seule chose qui semble fonctionner convertissait le booléen à un int (I essayé avec sys.diutil.bool_to_int) qui ne se sent pas bien ...
'v_res * false' - qu'attendez-vous de cette expression étrange? – zerkms
Votre dernière tentative fonctionne: 'v_res: = v_res et f1 ('aa');' –
@TonyAndrews, Vous avez absolument raison! Je n'ai aucune idée de ce qui s'est passé la dernière fois que j'ai vérifié ... – Bassal