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
|
CREATE OR REPLACE PROCEDURE TEMP IS
v_rdv_no NUMBER;
v_ben_no VARCHAR2(7);
v_nom VARCHAR2(32);
v_prenom VARCHAR2(30);
v_ddnpatient DATE;
v_sexepatient VARCHAR2(1);
v_modetransport VARCHAR2(3);
CURSOR imp_SIH IS
SELECT MAX (RDV.BRAN_TRANSPORT.NOTRA),
DIM.BEN.BEN_NO,
DIM.BEN.BEN_NOM_USUEL,
DIM.BEN.BEN_PRENOM_USUEL,
DIM.BEN.BEN_DDN,
DIM.BEN.BEN_SEXE_APP,
RDV.RDV_TRANS.TRANS_CODE
FROM DIM.BEN,RDV.RDV_TRANS,RDV.BRAN_TRANSPORT,RDV
WHERE RDV.BENEF_NO = DIM.BEN.BEN_NO
AND RDV.RDV_NO = RDV.RDV_TRANS.RDV_NO
AND DIM.BEN.BEN_PRENOM_USUEL LIKE '%AIDEZMOISVP%';
BEGIN
OPEN imp_SIH;
LOOP
FETCH imp_SIH
INTO v_rdv_no,
v_ben_no,
v_nom,
v_prenom,
v_ddnpatient,
v_sexepatient,
v_modetransport;
INSERT INTO BRAN_TRANSPORT ( NOTRA, NOMPATIENT, PRENOMPATIENT, typetransport, servicedepart, servicearrivee,MODETRANSPORT,DDNPATIENT,NOPATIENTSIH,regulation,SEXEPATIENT ) VALUES (v_rdv_no ,v_nom, v_prenom, 'A', 9 , 7, v_modetransport,v_ddnpatient ,v_ben_no,1,v_sexepatient);
EXIT WHEN imp_SIH%NOTFOUND;
END LOOP;
CLOSE imp_SIH;
commit;
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
WHEN OTHERS THEN
-- Consider logging the error and then re-raise
RAISE;
END TEMP;
/ |