Salut j'ai besoin d'un coup de pouce pour arriver a convertir cette procedure interbase en procédure oracle, avez vous des conseils et existe t'il des llogiciels pour faire ça?

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
 
 
CREATE OR REPLACE PROCEDURE P_210672 AS
(
VNB NUMBER(10);
VNBDEMI NUMBER(10);
VCODE VARCHAR2(6);
VMOIS VARCHAR2(10);
VNP NUMBER(10);
VNP2 NUMBER(10);
VPATIENT VARCHAR2(10);
)
BEGIN
 
FOR SELECT DISTINCT INTERVENANT,EXTRACT(MONTH FROM DATE_HEURE) || '/01/' || EXTRACT(YEAR FROM DATE_HEURE),PATIENT
 
FROM ACTIVITE A1
 
WHERE (PRESENCE = 'P') AND (P_OU_U = 'U') AND (DATE_HEURE >= '01/05/2006') AND (DATE_HEURE < '01/06/2006')
 
 AND (CODE_2 IN ('HL'))
 
 
 
 AND A1.ACONFIRMER IS NULL 
 
AND (CODE_1 IN ('SJO','PEJO','AJ','AJO','JA','JC','JO','JS'))
 
 
 
INTO :VCODE, :VMOIS, :VPATIENT
 
DO BEGIN
 
SELECT COUNT(1) AS X,COUNT(DISTINCT PATIENT) AS Y FROM ACTIVITE A2
 
WHERE (PRESENCE = 'P') AND (P_OU_U = 'U') AND (DATE_HEURE >= '01/05/2006') AND (DATE_HEURE < '01/06/2006')
 
 AND (CODE_2 IN ('HL'))
 
 
 
AND (CODE_1 IN ('SJO','PEJO','AJ','AJO','JA','JC','JO','JS'))
 
 
 
 AND (A2.INTERVENANT = :VCODE) AND (EXTRACT(MONTH FROM A2.DATE_HEURE) + '/01/' + EXTRACT(YEAR FROM A2.DATE_HEURE) = :VMOIS)
 
 AND A2.ACONFIRMER IS NULL 
 
AND (A2.CODE_9 IS NULL OR LTRIM(RTRIM(A2.CODE_9)) = '')
 
AND (A2.PATIENT = :VPATIENT)
 
INTO :VNB ,:VNP;
 
SELECT COUNT(1) AS X, COUNT(DISTINCT PATIENT) AS Y FROM ACTIVITE A2
 
WHERE (PRESENCE = 'P') AND (P_OU_U = 'U') AND (DATE_HEURE >= '01/05/2006') AND (DATE_HEURE < '01/06/2006')
 
 AND (CODE_2 IN ('HL'))
 
 
 
AND (CODE_1 IN ('SJO','PEJO','AJ','AJO','JA','JC','JO','JS'))
 
 
 
 AND (A2.INTERVENANT = :VCODE) AND (EXTRACT(MONTH FROM A2.DATE_HEURE) + '/01/' + EXTRACT(YEAR FROM A2.DATE_HEURE) = :VMOIS)
 
 AND (A2.CODE_9 IS NOT NULL AND A2.CODE_9 = 'DJ')
 
 AND A2.ACONFIRMER IS NULL 
 
AND (A2.PATIENT = :VPATIENT)
 
INTO :VNBDEMI, :VNP2;
 
VNP = :VNP2 + :VNP;
 
INSERT INTO T_210672 (UNITE, MOIS, NOMBRE, DEMI, NBPAT,LIGNE,PATIENT)
 
VALUES (:VCODE,:VMOIS,:VNB,:VNBDEMI,:VNP,'X',:VPATIENT);
 
END
 
INSERT INTO T_210672
 
SELECT INTERVENANT, EXTRACT(MONTH FROM A2.DATE_HEURE) + '/01/' + EXTRACT(YEAR FROM A2.DATE_HEURE),PATIENT,RECAP,DATE_HEURE,NULL,NULL,NULL
 
FROM ACTIVITE A, CODEACT C
 
WHERE (PRESENCE = 'P') AND (P_OU_U = 'U') AND (DATE_HEURE >= '01/05/2006') AND (DATE_HEURE < '01/06/2006')
 
 AND (CODE_2 IN ('HL'))
 
 
 
 AND A.ACONFIRMER IS NULL 
 
AND (A.CODE_1 = C.CODE) AND (C.RECAP IS NOT NULL);
 
END