Bonsoir François,
J'avais à plusieurs reprises créé des tables par copier-coller à partir
de feuille Calc. Mais je ferai des essais avec cette procédure. En tout
cas, merci de l'avoir porté à notre connaissance.
Bonne soirée et bon dimanche,
Bernard
Le 02/10/2010 19:26, Francois Gatto a écrit :
Bonsoir Bernard,
Le 02/10/2010 10:27, ribotb a écrit :
C'est un truc que je ne connaissais pas, l'association d'une table à un
fichier csv. Mais est-ce que ça n'équivaut pas au copier-coller d'une
feuille Calc,
Pas tout à fait !
procédure beaucoup plus simple puisque la table se crée
automatiquement
Oui mais un automatisme *très* relatif ;)
(il suffit alors de choisir les champs et demander
éventuellement la création d'une clé primaire) ? Pour résumer la
procédure en une phrase :-)
Les limites de cette procédure via Calc seront rapidement atteintes
notamment lors de l'import d'un nombre de lignes très important et
supérieur aux possibilités d'une feuille.
Par ailleurs, suite à des besoins spécifiques, l'injection de
plusieurs centaines de millier de lignes est assez rébarbatif sous
HSQLDB sur un serveur Ubuntu. Certaines manips sur les tables
deviennent particulièrement fastidieuses et "longuissimes".
Aussi j'ai dû me rabattre vers une config LAMP qui offre une grande
souplesse et efficacité.
Bernard
Bonne soirée
Francois Gatto
Le 02/10/2010 09:59, François Gatto a écrit :
Bonjour,
Le 01/10/2010 22:45, yves dutrieux a écrit :
Bonsoir,
Le 30 septembre 2010 21:33, Ludovic CHEVALIER<[email protected]> 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: [email protected]
For additional commands, e-mail: [email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
--
Bernard Ribot Windows 7 / Windows XP SP3 OpenOffice.prg 3.2.1
---
Antivirus avast! : message Sortant sain.
Base de donnees virale (VPS) : 101002-0, 02/10/2010
Analyse le : 02/10/2010 19:35:42
avast! - copyright (c) 1988-2010 AVAST Software.
http://www.avast.com
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]