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

 


Dernière réponse
Sujet : [SQL] Script de création de données de test
darklord oui oui j'ai vu désolé. Pas encore eu le temps de regarder ta susperbe solution. Promis j'y jette un oeil asap !!!

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
darklord oui oui j'ai vu désolé. Pas encore eu le temps de regarder ta susperbe solution. Promis j'y jette un oeil asap !!!
gfive up?
gfive 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]

darklord 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
ethernal

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.

greg@freestarthu

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...

ethernal 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 ?
Sh@rdar SELECT INSERT ??
greg@freestarthu

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:-))

ethernal oracle reconnait les commandes DESCRIBE, ... ?
sinon ça sert à rien que je te fasse un script (ou que j'essaye)
darklord 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".
gfive 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
darklord au fait merci pour le up :D
darklord :fuck:
greg@freestarthu haha le pauv'  bide.. presque pire que le mien  :lol:
darklord 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:

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)