Bloques IF en Oracle


Desde hace varios meses que estoy trabajando con Oracle y me impresiona sus capacidades, sin embargo me ha costado el cambio por la diferente sintaxis y maneras de hacer las cosas. Cuando vienes de otros manejadores como MySql y Postgres, te acostumbras a sus métodos y estrategias, ahora al cambiar a Oracle he tenido que documentarme sobre muchos procesos, desde simples SQL a grandes procedimientos en PL/SQL.

Aunque el SQL es universal y si conoces sobre el lenguaje, fácilmente te puedes adaptar a cualquier manejador relacional, aún así debes adaptar ciertas cosas para que funcionen, porque también hay SQL que no es estándar o funciones especificas de los DBMS.

Ya estoy acostumbrados a los IF, SWITCH, CASE de los otros BDMS. En este caso, los IF en SQL de Oracle no existen pero sí existe en los procedimientos. Entonces en la parte de SQL podemos usar CASE.

Ejemplo SQL con CASE:

Ejemplo PL/SQL con IF utilizando una función:

Y llamando la función:

Toma en cuenta que el «ELSEIF» no existe en Oracle, sino que tiene su propia nomenclatura «ELSIF», pequeños detalles que cambian pero quitan tiempo y la paciencia. Del resto es acostumbrarse, sigue siendo SQL, sigue siendo sencillo.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *