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
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...
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 ;![]()
Partager