Bjr,

J'ai une procédure en cours de rédaction que je n'arrives pas à finir.
Il s'agit d'une procédure de test qui rempli une table Fake

L'idée de de remplir en particulier une colonne codes-postaux tirés au sort.
Jusque là tout va bien ....

J'ai donc fait un générateur pour les codes postaux au niveau national (tous code postaux possibles).
(c'est le champs fak_zgg qui sélectionne le niveau 1=national, 2=départemental, 3= régional).
Pour le département je tire au sort le N° de département et génère aléatoirement que les 3 derniers chiffres et je concatène...sous format code-postal.
Jusque là tout va bien.


Mais le problème c'est pour la région
-il me faut un compteur de départements (ça ok je fait un set @count=@count+select count...)
-il me faut un tableau des départements de la région c'est la que je ne sais pas faire...pour pointer dessus ... pour générer le dep_id

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
ELSEIF @fak_zgg ='3' THEN
set @depcount=@depcount+(select count(*) from Department, Region where department_country_id=71 and region_id=@region and department_region_id=region_id);
create temporary table toto (id tinyint primary key not null auto_increment) select department_code from Department, Region where department_country_id=71 and region_id=@region and department_region_id=region_id;
set @pointer=@pointer+FLOOR(1 +rand() *@depcount);
set @dep_id=(select department_code from toto where id=@pointer );
set @vilid=FLOOR(100 +rand() *868)  ;
set @cp=concat(@dep_id,@vilid);
insert into fake values ('',@fakcmt_id,@fak_zgg,'',@fak_nbr,@fakcnt_id,@cp);
drop temporary table toto ;
END IF ;
c'est un peu crado mais ça marche je suis en train de revoir tout ça pour le faire plus propre.. et hors d'une boucle...