Páginas

7/11/14

Query dinámico por filtros en PL-SQL. Por Criterios Oracle.

Query dinámico por filtros en PL/SQL Oracle y MySQL.

Query dinámico por filtros en PL/SQL Oracle y MySQL.





Supongamos que tenemos una aplicación Java en donde gestionamos un colegio y hay ciertas GUI en donde aplicamos criterios de búsqueda para obtener información de la base de datos, en este caso la base de datos esta en Oracle PL/SQL y hay una GUI para buscar alumnos mediante criterios o filtros de búsqueda, ya sea por nombre, apellido, sexo, edad, o solo por nombre y apellido, o por sexo y edad, en fin puedes buscar los alumnos de distintas formas. Ya sabiendo eso debemos hacer el Stored Procedure en Oracle PL/SQL en el cual vamos a crear un query dinámico, lo primero que tenemos que saber, es que para manejar la lógica del query tenemos que diferenciar los parámetros por los que el usuario desea buscar un alumno o no, así que desde el aplicativo al momento de hacer el CallableStatement dependiendo de los criterios de búsqueda que haya elegido el usuario en la GUI, vamos a pasar en los parámetros el valor del mismo o un valor null, cuando pasamos null indicamos que no vamos a buscar por ese parámetro, así que cuando armamos el query en Oracle vamos a ir preguntando si el parámetro recibido es distinto de null y de ser el caso vamos agregarlo en el query si no lo ignoramos, ya que en medio del armado del query no podemos utilizar IF ELSE tenemos que hacerlo de la siguiente manera: