1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106
|
/* ======================================================================== */
/* */
/* SCRIPT LANCEMENT DES PROCEDURES DE NUIT */
/* */
/* L'ENSEMBLE DES VARAIABLES SONT A PARAMETRER */
/* DANS LE PREMIER DECLARE (DECLARE PRINCIPAL */
/* */
/* LE CHOIX DES BLOCK PL/SQL A LANCER SE FAIT */
/* EN FONCTION DU JOUR DE LA SEMAINE */
/* ======================================================================== */
/* ===========================================*/
DECLARE /* DECLARE PRINCIPAL */
/* ===========================================*/
--on declare les jours de la semaine
LUNDI CONSTANT INTEGER := 1;
MARDI CONSTANT INTEGER := 2;
MERCREDI CONSTANT INTEGER := 3;
JEUDI CONSTANT INTEGER := 4;
VENDREDI CONSTANT INTEGER := 5;
SAMEDI CONSTANT INTEGER := 6;
DIMANCHE CONSTANT INTEGER := 7;
NUMERO_JOUR INT;
NUMERO_SEMAINE INT;
/* ===========================================*/
BEGIN /* BEGIN PRINCIPAL */
/* ===========================================*/
-- ON RECUPERE LE NUMERO DU JOUR (lundi = 1,mardi = 2,etc...)
SELECT TO_CHAR(SYSDATE,'D') INTO NUMERO_JOUR FROM dual;
-- ON RECUPERE LE NUMERO DE LA SEMAINE
SELECT TO_CHAR(SYSDATE,'IW') INTO NUMERO_SEMAINE FROM dual;
DBMS_OUTPUT.put_line('num jour' || NUMERO_JOUR);
DBMS_OUTPUT.put_line('num semaine' || NUMERO_SEMAINE);
-- ON VA LANCER LES DIFFERENTS TRAITEMENTS EN FONCTION DU JOUR
IF NUMERO_JOUR = MERCREDI THEN
DBMS_OUTPUT.put_line('DEBUT PROC1');
GOTO PROC1;
<<FIN_PROC1>>
DBMS_OUTPUT.put_line('FIN PROC1');
DBMS_OUTPUT.put_line('DEBUT PROC2');
GOTO PROC2;
<<FIN_PROC2>>
DBMS_OUTPUT.put_line('FIN PROC2');
END IF;
GOTO FIN_TRAITEMENT;
/* ======================================================================== */
/* */
/* PROCEDURES A LANCER */
/* */
/* ======================================================================== */
<<PROC1>>
DECLARE
BEGIN
DBMS_OUTPUT.put_line('MERCREDI');
DBMS_OUTPUT.put_line('mardi');
END ;
GOTO FIN_PROC1;
<<PROC2>>
DECLARE
BEGIN
DBMS_OUTPUT.put_line('MERCREDI');
END;
GOTO FIN_PROC2;
<<PROC3>>
DECLARE
BEGIN
DBMS_OUTPUT.put_line('JEUDI');
END;
--GOTO FIN_PROC3;
/* ON AJOUTE CE SAUT POUR EVITER DE REPASSER DANS TOUTES LES PROCEDURES DECLAREES */
<<FIN_TRAITEMENT>>
DBMS_OUTPUT.put_line('FIN_TRAITEMENT');
/* ===========================================*/
END; /* END PRINCIPAL */
/* ===========================================*/ |
Partager