database - ejemplos - ¿Mejor forma de estructurar una instrucción PL/SQL IF THEN?
if oracle ejemplos (4)
Mi respuesta sería un simple "No".
Aunque hay varias formas alternativas de escribir la misma construcción, no creo que ninguna sea necesariamente "mejor".
Cualquiera puede mirar la declaración IF y saber exactamente lo que significa. Las alternativas basadas en la concatenación o el uso del operador de fusión simplemente oscurecen la intención.
¿Me pregunto si existe una mejor manera de escribir la siguiente pieza de código PL / SQL en ORACLE?
IF(p_c_courtesies_cd is not null
OR p_c_language_cd is not null
OR v_c_name is not null
OR v_c_firstname is not null
OR v_c_function is not null
OR p_c_phone is not null
OR p_c_mobile is not null
OR p_c_fax is not null
OR v_c_email is not null
) THEN
-- Do something
END IF;
Otra forma, explotando el hecho de que Oracle trata a NULL y '''' como lo mismo:
IF p_c_courtesies_cd
|| p_c_language_cd
|| v_c_name
|| v_c_firstname
|| v_c_function
|| p_c_phone
|| p_c_mobile p_c_fax
|| v_c_email is not null
THEN
-- Do something
END IF;
si coalesce (expr1, expr2, ... exprn) no es nulo, entonces ...
If coalesce( expr1, expr2, ... expr_n ) is not null then do something end if;
(Gracias Tony por la corrección)