| 12
 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
 
 | DELIMITER $$
DROP FUNCTION IF EXISTS modifierIDS();
CREATE FUNCTION modifierIDS() RETURNS INT AS ARRAY
BEGIN
	DECLARE c_id,u_id,compteur_cids,compteur_uids,compteur_egal_ids INT;
	DECLARE c_code,c_raison_sociale,c_lang,c_pays,a_niveau,u_niveau_max,u_ids,c_ids VARCHAR(255);
	DECLARE array_resultats INT AS ARRAY [0];
	DECLARE cur1 CURSOR FOR	SELECT compte.id, user.id, compte.code,compte.raison_sociale,compte.lang,compte.pays,acces.niveau,user.niveau_max,user.ids,compte.ids 
		FROM compte, acces, user 
		WHERE compte.id=acces.id_compte 
		AND acces.id_user=user.id 
		AND acces.niveau = 'superadmin' 
		AND user.niveau_max = 'superadmin' GROUP BY compte.id;
 
 
	OPEN cur1;
	FETCH cur1 INTO c_id, u_id, c_code, c_raison_sociale, c_lang, c_pays, a_niveau, u_niveau_max, u_ids, c_ids;
 
		IF c_ids IS NULL THEN
		@compteur_cids = @compteur_cids + 1;
		SELECT id FROM compte;			
		END IF;
 
		IF u_ids IS NULL THEN
		@compteur_uids = @compteur_uids + 1;
		SELECT id FROM compte;					
		END IF;
 
 
		IF u_ids = c_ids THEN
		@compteur_egal_ids = @compteur_egal_ids + 1;
		SELECT id FROM compte;						
		END IF;
 
	CLOSE cur1;
 
	@array_resultats[1] = @compteur_cids;
	@array_resultats[2] = @compteur_uids;
	@array_resultats[3] = @compteur_egal_ids;
 
	RETURN @array_resultats;
 
END $$
DELIMITER ; | 
Partager