Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3011 connectés 

  FORUM HardWare.fr
  Programmation

  [SQL] Script de création de données de test

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[SQL] Script de création de données de test

n°147688
darklord
You're welcome
Posté le 30-05-2002 à 12:01:54  profilanswer
 

Salut tout le monde,
 
Une question assez simple mais qui nécessite de l'expérience. J'ai une BD de production (par exemple Client) qui contient un certain nombre de records. Comment faire pour exporter par exemple 2000 clients dans un script SQL me permettatn de les recréer dans un BD de test.
 
Plus clairement, je voudrais récupérer facilement un script qui me permette de créer X clients dans un BD de test, basé sur le contenu de la BD de prod.
 
Je précise que les solution create Table Client_test as ... ne m'intéresse pas, ni les réplications d'ailleurs.
 
Ca doit etre portable. Si qqun a une idée, merci de la communiquer
 
 :hello:


---------------
Just because you feel good does not make you right
mood
Publicité
Posté le 30-05-2002 à 12:01:54  profilanswer
 

n°147765
greg@frees​tarthu
Posté le 30-05-2002 à 13:44:32  profilanswer
 

haha le pauv'  bide.. presque pire que le mien  :lol:

n°147767
darklord
You're welcome
Posté le 30-05-2002 à 13:47:36  profilanswer
 

:fuck:


---------------
Just because you feel good does not make you right
n°147768
darklord
You're welcome
Posté le 30-05-2002 à 13:48:19  profilanswer
 

au fait merci pour le up :D


---------------
Just because you feel good does not make you right
n°147772
gfive
Posté le 30-05-2002 à 13:50:04  profilanswer
 

c'est le même SGBD, derrière??? Avec MySQL, nous, on fait un tar du répertoire de la DB, on le ftpise, et hop! :D

n°147778
darklord
You're welcome
Posté le 30-05-2002 à 13:58:58  profilanswer
 

oracle. Mais le deal c'est que j'ai plus d'un million de records et je veux juste en prendre 1000 pour faire mes tests. Le truc aussi c'est que je devrais pouvoir lancer ce scrpt souvent pour récupérer une BD dans un étant "neuf".


---------------
Just because you feel good does not make you right
n°147829
ethernal
Chercheur de vérité...
Posté le 30-05-2002 à 14:33:17  profilanswer
 

oracle reconnait les commandes DESCRIBE, ... ?
sinon ça sert à rien que je te fasse un script (ou que j'essaye)


---------------
...oups kernel error...
n°147833
greg@frees​tarthu
Posté le 30-05-2002 à 14:34:36  profilanswer
 

ethernal a écrit a écrit :

oracle reconnait les commandes DESCRIBE, ... ?
sinon ça sert à rien que je te fasse un script (ou que j'essaye)  




non
 
(et, euh, utilisateurs de mysql, y'a mysqldump dans le /bin qui est bien pratique, si vous connaissiez pas:-))

n°147836
Sh@rdar
Ex-PhPéteur
Posté le 30-05-2002 à 14:36:56  profilanswer
 

SELECT INSERT ??


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
n°147837
ethernal
Chercheur de vérité...
Posté le 30-05-2002 à 14:37:16  profilanswer
 

oui c vrai mysqldump je l'oublie chaque fois :D
 
mais comme il voulait un script...
Faut d'abord que je connaisse les commandes pour montrer le contenu (taille des champs, format, ...) de la table...
 
sinon il y a moyen de faire un script ou tu passe le nom de la base, de la table, de la nouvelle base, le nombre d'enregs et qui te crée une nouvelle base. c'est ça que tu veux non ?


---------------
...oups kernel error...
mood
Publicité
Posté le 30-05-2002 à 14:37:16  profilanswer
 

n°147839
greg@frees​tarthu
Posté le 30-05-2002 à 14:38:14  profilanswer
 

ethernal a écrit a écrit :

oui c vrai mysqldump je l'oublie chaque fois :D
 
mais comme il voulait un script...




ben mysqldump il te balance un script sql...
c ça qu'il veut l'ami darklord...

n°147843
ethernal
Chercheur de vérité...
Posté le 30-05-2002 à 14:40:54  profilanswer
 

greg@freestarthu a écrit a écrit :

 
ben mysqldump il te balance un script sql...
c ça qu'il veut l'ami darklord...  




 
bha moi j'ai compris qu'il voulait un script modulable comme j'ai décrit ci-dessus, qui fct avec n'importe quel bb.


---------------
...oups kernel error...
n°147869
darklord
You're welcome
Posté le 30-05-2002 à 14:59:42  profilanswer
 

ce que je veux c'est simple. C'est prendre les DONNEES d'une table en production et les sauver dans un fichier SQL pour me permettre de le lancer autant de fois que je veux pour récupérer des données de tests.
 
Donc
 
Pas de replica, pas de copie rien
 
En gros je veux générer autmatiquement 1000 Insert INTO .... avec des données d'une base de production


---------------
Just because you feel good does not make you right
n°147873
gfive
Posté le 30-05-2002 à 15:04:02  profilanswer
 

bah....Avec MySQL (je sais pas si ça marche avec Oracle), on fait aussi un fichier de commandes MySQL.....(30 minutes après)
t'ain, tu m'en fais voir de belles!! :D:D Je devrais pas répondre aux défis!! :D:D
 
Si tu met ça dans un fichier (bash!!)
 

Citation :


#!/bin/sh
REQUEST=$@
 
TMP=/tmp/tmp_$$
 
echo "$REQUEST" > $TMP
 
echo "Target database : "
read TARGET
 
FIELDS=`mysql -u root < $TMP | head -1 | awk ' { cmd="("; for (i=1; i < NF; i++) {cmd=cmd $i ","} print(cmd $NF " )" ) }'`
 
AWKCMD="awk ' { cmd=\"insert into $TARGET $FIELDS values (\";
                for (i=1; i< NF; i++) {
                      cmd=cmd \"\\\"\"\$i\"\\\"\,\"
                }
                print (cmd \"\\\"\"\$NF\"\\\" )\" ) }'"
 
mysql -u root < $TMP | tail | eval $AWKCMD
 

 
 
 
Avec une table qui a cette structure :  
 
+---------+------------------+------+-----+---------+-------+
| Field   | Type             | Null | Key | Default | Extra |
+---------+------------------+------+-----+---------+-------+
| townId  | varchar(30)      |      | PRI |         |       |
| day     | int(10) unsigned |      | PRI | 0       |       |
| minTemp | int(10) unsigned |      |     | 0       |       |
| maxTemp | int(10) unsigned |      |     | 0       |       |
| icon    | varchar(20)      |      |     |         |       |
+---------+------------------+------+-----+---------+-------+
 
en lançant :  
 
getDBvalues "select * from DBweather.Meteo limit 10"
 
et en mettant DBtoto quand on me pose une question, j'obtiens :  
 
insert into DBtoto (townId,day,minTemp,maxTemp,icon) values ("54909","3","23","31","P3" )
insert into DBtoto (townId,day,minTemp,maxTemp,icon) values ("54909","2","22","30","P3" )
insert into DBtoto (townId,day,minTemp,maxTemp,icon) values ("54908","3","16","17","P7" )
insert into DBtoto (townId,day,minTemp,maxTemp,icon) values ("54909","1","21","30","P3" )
insert into DBtoto (townId,day,minTemp,maxTemp,icon) values ("54908","2","12","19","P7" )
insert into DBtoto (townId,day,minTemp,maxTemp,icon) values ("54907","3","18","21","P8" )
insert into DBtoto (townId,day,minTemp,maxTemp,icon) values ("54909","0","22","30","P3" )
insert into DBtoto (townId,day,minTemp,maxTemp,icon) values ("54908","1","13","23","P3" )
insert into DBtoto (townId,day,minTemp,maxTemp,icon) values ("54907","2","17","19","P8" )
insert into DBtoto (townId,day,minTemp,maxTemp,icon) values ("54906","3","13","21","P6" )
 
 
Donc, en faisant une redirection, plus de problème, t'as ton fichier de commande SQL...
 
Bon après, pâr contre....pour les autres SGBD, je garantis rien!

 

[jfdsdjhfuetppo]--Message édité par gfive le 30-05-2002 à 15:24:04--[/jfdsdjhfuetppo]

n°147928
gfive
Posté le 30-05-2002 à 15:38:05  profilanswer
 

up?

n°147961
darklord
You're welcome
Posté le 30-05-2002 à 16:01:07  profilanswer
 

oui oui j'ai vu désolé. Pas encore eu le temps de regarder ta susperbe solution. Promis j'y jette un oeil asap !!!


---------------
Just because you feel good does not make you right

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [SQL] Script de création de données de test

 

Sujets relatifs
[DELPHI] + base de donnéesComment mettre un hebergeur qui gére ()mail en ()email (script)
Script PHP Form2Mail utilisant ()mail et gérant les fichiers joints ?SQL : utilisation de sous requêtes ?
[Java] Extraction de données d'un fichier texte vers un fichier excelun serveur SQL gratuit pour Windows ?
[Java] Sauvegarder des données ds un fichier xml[pHp] stopper l'exécution d'un script
[VB] Création dynamique de composants VB[SQL in VBA] Requête foireuse
Plus de sujets relatifs à : [SQL] Script de création de données de test


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR