ejemplos database oracle syntax plsql

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;

Mira aquí.

(Gracias Tony por la corrección)