bonjour,

j'aimerai savoir si il est possible de parser un tableau dans une proc stoc ??
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
 
CREATE PROCEDURE test.tab_quotiten( IN nb_echeance INT, 
IN mois INT, IN annee INT, IN capital INT, IN taux FLOAT, 
IN ass FLOAT, IN Q1 FLOAT, IN Q2 FLOAT, IN Q3 FLOAT, IN Q4 FLOAT, IN Q5 FLOAT, IN Q6 FLOAT, IN Q7 FLOAT, IN Q8 FLOAT, 
IN Q9 FLOAT, IN Q10 FLOAT, IN Q11 FLOAT, IN Q12 FLOAT, IN Q13 FLOAT, IN Q14 FLOAT, IN Q15 FLOAT, IN Q16 FLOAT, 
IN Q17 FLOAT, IN Q18 FLOAT, IN Q19 FLOAT, IN Q20 FLOAT, IN Q21 FLOAT, IN Q22 FLOAT, IN Q23 FLOAT, IN Q24 FLOAT, IN Q25 FLOAT)
BEGIN 
DECLARE id INT DEFAULT 0;
DECLARE nb_mois INT DEFAULT 1;
DECLARE i FLOAT ;
DECLARE j INT DEFAULT 0 ;
DECLARE a FLOAT;
DECLARE Echeance FLOAT;
DECLARE x, y, b FLOAT;
DECLARE Crd FLOAT;
DECLARE Interet FLOAT;
DECLARE capital_amort FLOAT;
DECLARE echean_totale FLOAT;
DECLARE Interet_Infine FLOAT ;
DECLARE capital_infine FLOAT ;
DECLARE Q0 FLOAT ; 
 
SET Crd = capital;
SET Q0 = Q1;
WHILE nb_mois <= nb_echeance DO
SET i = ((nb_mois - 1 ) / 12);
SET j = TRUNCATE(i,0);
 
 
	IF ((i != 0) && (j = i))
	THEN
		SET Q0 = Q1 ;
		SET Q1 = Q2; SET Q2 = Q3; SET Q3 = Q4; SET Q4 = Q5;
		SET Q5 = Q6; SET Q6 = Q7; SET Q7 = Q8; SET Q8 = Q9;
		SET Q9 = Q10; SET Q10 = Q11; SET Q11 = Q12; SET Q12 = Q13;
		SET Q13 = Q14; SET Q14 = Q15; SET Q15 = Q16; SET Q16 = Q17;
		SET Q17 = Q18; SET Q18 = Q19; SET Q19 = Q20; SET Q20 = Q21;
		SET Q21 = Q22; SET Q22 = Q23; SET Q23 = Q24; SET Q24 = Q25;
 
	END IF;
 
 
	IF (( i = 0 || Q1 != Q0) && ( j = i))
	THEN
		SET capital_infine = (Crd *( 1 - Q1));
		SET capital_amort = Crd - capital_infine ;
		-- Calcul de l-echeance amortissable
		SET x = (capital_amort * (taux /12 ));
		SET y = pow(( 1 + (taux /12)), - (nb_echeance - nb_mois + 1 ));
		SET Echeance = x / ( 1 - y );
		-- Calcul des interet pour la part Infine
		SET Interet_Infine = ((capital_infine) * (taux / 12 ));
 
	END IF;
		SET a = Crd - capital_infine;
		SET b = a * (taux /12);
		SET capital_amort = Echeance - b;
		SET echean_totale = Interet_infine + Echeance + ass ;
		SET Crd = Crd - capital_amort;
 
 
INSERT INTO test.tab_quotiten (`id`,`nb`, `i`,`mois`,	`annee`, `Quotite`,`interet`,`capital_amortit`,`echeance`,`assurance`,`echeance_totale`, `interet_infine`, `KInfine`, `CRD`) 
VALUES (`id`,`nb_mois`,	`i`,`mois`,	`annee`,`Q1`,`b`,`capital_amort`,`Echeance`,`ass`,`echean_totale`,`Interet_Infine`,`capital_infine`, `Crd`) ;
	IF mois = 12 THEN
		SET mois = 1;
		SET annee = annee + 1;
	ELSE
		SET mois = mois + 1 ;
	END IF;
SET nb_mois = nb_mois + 1 ;
 
 
END WHILE ;
END $$
Q1, Q2......... vont être dans un tableau en php
Merci