Control de Procedimiento Asíncrono PL/SQL - Llamar a un Job

Un proceso asíncrono es la llamada a una acción en tiempos distintos.

Sabemos que la ejecución de código en un programa se hace de manera consecutiva o secuencial, por lo tanto si llamamos a un proceso X debemos esperar que termine de ejecutarse para poder invocar a un proceso Y, la asincronia hace que podamos ejecutar el proceso X e invocar a Y sin que X haya terminado.

Para realizar esto en Oracle PL/SQL, se hacer de la siguiente manera.
1
2
3
4
5
6
7
PROCEDURE EJECUTAR_JOB( pJob IN VARCHAR2 ) IS
  PRAGMA AUTONOMOUS_TRANSACTION;
  vJobNum  BINARY_INTEGER;
  BEGIN
    DBMS_JOB.SUBMIT(vJobNum, pJob);
    COMMIT;
  END EJECUTAR_JOB;

A continuación se detalla el código:

pJob: es un parámetro, en este caso recibe un procedimiento como cadena
PRAGMA AUTONOMOUS_TRANSACTION: Cambia la forma en que un subprograma trabaja dentro de una transacción
DBMS_JOB.SUBMIT: Manejador de Jobs.

Ejemplo de Uso:
1
2
3
4
5
6
  DECLARE
    vCadena varchar2(100);
  BEGIN
    vCadena := 'PROCESO_X;'; -- Proceso a Ejecutar
    EJECUTAR_JOB(vCadena );
  END;

Cualquier duda, comenten.[full_width]

Control de Procedimiento Asíncrono PL/SQL - Llamar a un Job Control de Procedimiento Asíncrono PL/SQL - Llamar a un Job Reviewed by Unknown on 2:18 p.m. Rating: 5

No hay comentarios.: