es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo ejecutar scripts SQL que residen en Oracle APEX desde un archivo por lotes de Windows.

Creé un script de SQL en Oracle APEX.
Ese SQL se mantendrá y actualizará, pero no queremos cambiar el archivo de lotes que ya se ha creado.

Por lo tanto, quiero hacer que el SQL sea ejecutable utilizando el nombre del SQL creado en Oracle APEX. (Por ejemplo, primero obtener el cuerpo del SQL a partir del nombre y luego ejecutar ese SQL por segunda vez).
¿Es posible utilizar SQLPlus para lograr esto?

(Tal vez la información del script que creé se encuentre en alguna tabla de la base de datos?)

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Sí, es posible utilizar SQLPlus para lograr esto.

    Puede recuperar el cuerpo SQL mediante una consulta a la vista APEX_APPLICATION_SQL_SCRIPTS. Una vez que tenga el cuerpo SQL, puede ejecutarlo utilizando SQLPlus.

    Aquí hay un ejemplo de script SQLPlus que demuestra esto:

    SET SERVEROUTPUT ON
    DECLARE
      v_sql_body VARCHAR2(32767);
    BEGIN
      -- Recupere el cuerpo SQL de la vista APEX_APPLICATION_SQL_SCRIPTS
      SELECT script_content
      INTO v_sql_body
      FROM apex_application_sql_scripts
      WHERE script_name = 'MY_SQL_SCRIPT';
    
      -- Imprima el cuerpo SQL para verificar que se haya recuperado correctamente
      DBMS_OUTPUT.PUT_LINE(v_sql_body);
    
      -- Ejecute el SQL utilizando SQLPlus
      EXECUTE IMMEDIATE v_sql_body;
    END;
    /
    

    En este ejemplo, recuperamos el cuerpo SQL de un script llamado ‘MY_SQL_SCRIPT’ de la vista APEX_APPLICATION_SQL_SCRIPTS y lo almacenamos en una variable llamada v_sql_body. Luego imprimimos el valor de v_sql_body para verificar que se haya recuperado correctamente. Finalmente, ejecutamos el SQL utilizando la instrucción EXECUTE IMMEDIATE.

    Tenga en cuenta que este script asume que el script SQL que desea ejecutar se encuentra almacenado en la vista APEX_APPLICATION_SQL_SCRIPTS con el nombre ‘MY_SQL_SCRIPT’. Deberá modificar el script de acuerdo a su caso de uso específico.

Comments are closed.