Script SQLite
Résolu
babagreen
Messages postés
102
Date d'inscription
Statut
Membre
Dernière intervention
-
babagreen Messages postés 102 Date d'inscription Statut Membre Dernière intervention -
babagreen Messages postés 102 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai généré un script SQLite avec la création des tables, des indexes et les insertions.
Pour ce qui est des tables et des indexes aucuns soucis, mais pour les insertions il y a un soucis quasiment toutes les données ne vont pas.
Par exemple dans la table client j'ai nom_clien qui est un varchar de 50, les clients n'ont pas tous un nom de 50 caractères de long et lors de la création du script ça a automatiquement complété les nom inférieur à 50 caractères par des espaces après. Ce qui propose problème car BDD est utiliser sur windev et la personne charger de faire les tests à le problème suivant:
Quand elle lance une requête par exemple select nom_clien from client where nom_clien = 'sdb';
il n'y a pas de retour du client sdb car le nom à été enregistrer avec les espaces.
Savez vous comment dans le script je peut supprimer ces espaces?
Et pas à la main car la base contient énormément de données je ne peut donc pas toutes les modifier une par une.
Merci.
J'ai généré un script SQLite avec la création des tables, des indexes et les insertions.
Pour ce qui est des tables et des indexes aucuns soucis, mais pour les insertions il y a un soucis quasiment toutes les données ne vont pas.
Par exemple dans la table client j'ai nom_clien qui est un varchar de 50, les clients n'ont pas tous un nom de 50 caractères de long et lors de la création du script ça a automatiquement complété les nom inférieur à 50 caractères par des espaces après. Ce qui propose problème car BDD est utiliser sur windev et la personne charger de faire les tests à le problème suivant:
Quand elle lance une requête par exemple select nom_clien from client where nom_clien = 'sdb';
il n'y a pas de retour du client sdb car le nom à été enregistrer avec les espaces.
Savez vous comment dans le script je peut supprimer ces espaces?
Et pas à la main car la base contient énormément de données je ne peut donc pas toutes les modifier une par une.
Merci.
A voir également:
- Script SQLite
- Script vidéo youtube - Guide
- Mas script - Accueil - Windows
- Ghost script - Télécharger - Polices de caractères
- Script cmd - Guide
- Script download - Télécharger - Édition & Programmation
3 réponses
Bonjour
Pas facile de dire quoi modifier dans ton script sans savoir à quoi il ressemble. Il est sûrement mal fichu pour ajouter des espaces comme ça.
Par contre, tu peux facilement supprimer les espaces en trop avec une simple requête :
Pas facile de dire quoi modifier dans ton script sans savoir à quoi il ressemble. Il est sûrement mal fichu pour ajouter des espaces comme ça.
Par contre, tu peux facilement supprimer les espaces en trop avec une simple requête :
UPDATE client SET nom_clien=trim(nom_clien)
Alors il faut prendre le mal à la source et corriger ce programme qui invente des espaces là où il n'y en a pas. D'où le sors-tu ?
J'ai fait une petite recherche, j'ai trouvé un full converter 6.11 chez softpedia. Si c'est bien celui-là, à 300€, je ne vais pas l'essayer. Mais à ce prix là, je suis sûr (enfin, j'espère ...) qu'il y a moyen de le paramétrer correctement pour qu'il n'ajoute pas de caractères superflus.
Sinon, il ne doit quand même pas être très difficile de faire une boucle sur toutes les tables qui corrige tous les champs avec la requête que je t'ai donnée plus haut. Je ne dis pas que ça se fait en cinq minutes, mais ça ne devrait pas te prendre toute la journée non plus d'écrire deux "for" imbriqués.
Sinon, il ne doit quand même pas être très difficile de faire une boucle sur toutes les tables qui corrige tous les champs avec la requête que je t'ai donnée plus haut. Je ne dis pas que ça se fait en cinq minutes, mais ça ne devrait pas te prendre toute la journée non plus d'écrire deux "for" imbriqués.
et en base si je regarde les données pour le nom sdb ba il a enregistré 'sdb '
et tous faire à la main ça va être long le script fait près de 70 000 lignes, 110 tables