CONSULTA SQL DE ORACLE APEX
Tengo una pregunta sobre una instrucción SQL que se ejecutará en Oracle Application Express. Tengo esta consulta que lista las ejecuciones de prueba según la clave de JIRA y excluyendo algunas que he especificado:
select name as d, test_run_id as r From test_run
Where project_jira_key=:TR_BASED_ON_PROJECT and folder_id NOT IN(select folder_id from folder where name in (select column_value from table (apex_string.split(config.get(''ATM_DASHBOARD_CONFIGURATION_FOLDER_EXCLUDE'), '','))));
Me gustaría agregar una expresión CASE o IF que se ejecutará si la clave de proyecto JIRA es nula (no se proporciona por el usuario).
select name as d, test_run_id as r From test_run
Where folder_id NOT IN(select folder_id from folder where name in (select column_value from table (apex_string.split(config.get(''ATM_DASHBOARD_CONFIGURATION_FOLDER_EXCLUDE'), '','))));
Básicamente, la segunda parte del código es la misma, simplemente no selecciona una clave de proyecto JIRA específica O selecciona todas las claves de proyecto JIRA. En otras palabras: haga la primera consulta, pero si no se proporciona la clave de proyecto JIRA, ejecute la segunda consulta.
Gracias de antemano.
davy.ai
Para lograr esto, puede utilizar una sentencia IF en su consulta SQL. Aquí hay un ejemplo de consulta con una sentencia IF:
Esta consulta verifica si el valor de
:TR_BASED_ON_PROJECT
no es nulo. Si no es nulo, se ejecuta la primera consulta que incluye la condiciónproject_jira_key=:TR_BASED_ON_PROJECT
. Si es nulo, se omite la primera consulta y se ejecuta la segunda consulta, que no incluye la condiciónproject_jira_key
.¡Espero que esto ayude! Avíseme si tiene alguna otra pregunta.