Bonjour,

Le 01/10/2010 22:45, yves dutrieux a écrit :
Bonsoir,

Le 30 septembre 2010 21:33, Ludovic CHEVALIER<tensh...@no-log.org>  a écrit
:

Salut!

Il s'agit de requêtes de type "INSERT INTO TABLE (???,???) VALUES(XXX,XXX);


Si c'est des inserts, perso, j'aurais généré un fichier texte csv avec les
valeurs et utilisé la commande sql
insert from file (ou qq chose du genre, je connais plus la syntaxe).

Yves



Voilà, voilà.

Ludo


Merci Yves d'avoir réveiller mes neurones.

Certes, sauf erreur de ma part, il ne s'agit pas du simple emploi d'une séquence du genre "insert from file".

HSQLDB permet effectivement d'injecter en masse des données via des fichiers de type csv. La procédure est "légèrement" longue et on y trouvera intérêt que dans des insertions par lots.

La démarche est la suivante :
1 *création* d'une table (temporaire) de type TEXT,
2 *association* du fichier csv à injecter,
3 *insertion* des données dans une table (existante ou à créer)
4 *suppression* de la table temporaire

En SQL voici un exemple :

1 *création* d'une table (temporaire) de type TEXT

CREATE TEXT TABLE "TableCsv" (
"ID" identity,
"Nom" varchar(25) ,
"Temps" Time );

2 *association* du fichier csv à injecter

SET TABLE "TableCsv" SOURCE "insertion_donnees.csv";

3 *insertion* des données dans une table "LaTable"
 existante *et* de même structure.

INSERT INTO "LaTable" SELECT * FROM  "TableCsv";

4 *suppression* de la table temporaire

DROP TABLE  "TableCsv";

Voilà !

Bon faudra bien veiller à respecter les structures des tables et l'agencement des données dans le fichier à importer.

Un peu de lecture ici :
http://hsqldb.org/doc/2.0/guide/texttables-chapt.html

Bonne journée
Francois Gatto

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@fr.openoffice.org
For additional commands, e-mail: users-h...@fr.openoffice.org

Reply via email to