cs_Sbt
Messages postés47Date d'inscriptionmardi 29 avril 2003StatutMembreDernière intervention22 mai 2012
-
14 oct. 2005 à 10:28
aieeeuuuuu
Messages postés698Date d'inscriptionjeudi 16 janvier 2003StatutMembreDernière intervention20 mai 2011
-
18 oct. 2005 à 10:09
Bonjour à tous,
Dans une de mes tables, il y a un champ TEXT, nommé RES_TXT.
Dans ce champ, on y insert tout un fichier texte, sur lequel on n'a pas la possibilité de le modifier. Dans ce fichier, il y a des chaines de caracteres spécifiques que l'on veut enlever (exemple : '$A','$B'...).
je n'ai pas trouver de fonction pour supprimer ces chaines spécifiques.
En utilisant la fonction REPLACE, on n'obtient pas toujours ce que l'on veut, car la fonction REPLACE prend en parametre un varchar (maximum 8000). Quand le texte est plus grand, il est tronqué...
aieeeuuuuu
Messages postés698Date d'inscriptionjeudi 16 janvier 2003StatutMembreDernière intervention20 mai 20113 14 oct. 2005 à 17:14
salut,
et tu veux faire ca directement sous SQL Serveur ?
bah dans ce cas je passerai par une table temporaire avec un champs ordre (autoincrémenté) et un champs valeur en NVARCHAR(8000).
puis tu decoupe le contenu de ton champs original en bout de 8000 caracteres que tu place dans ta table temporaire, tu traite toutes les lignes de cette table avec la fonction REPLACE, et tu reconcatene pour mettre a jour ta table d'origine.
ca risque d'etre un peu fastidieux, mais pour le faire directement ous SQL je ne vois pas d'autre solution
aieeeuuuuu
Messages postés698Date d'inscriptionjeudi 16 janvier 2003StatutMembreDernière intervention20 mai 20113 14 oct. 2005 à 17:19
ou bien sinon une boucle qui cherche la premier position de la chaine a supprimer, et qui concatene la partie a droite, avec la partie a gauche, en supprimant ainsi les caracteres que tu veux supprimer. elle boucle tant qu'elle trouve des caracteres.
mais je ne sais pas si tu ne vas pas te heurter au meme probleme avec un champ ussi long...
cs_Sbt
Messages postés47Date d'inscriptionmardi 29 avril 2003StatutMembreDernière intervention22 mai 20121 14 oct. 2005 à 18:14
Merci de la réponse, mais on y avait déjà penser...
Le problème est la performance de la procédure stockée...
Les utilisateurs de l'appli sont très sensibles à cela...
D'autre idées ???
D'autres personnes ???
@+
Vous n’avez pas trouvé la réponse que vous recherchez ?
aieeeuuuuu
Messages postés698Date d'inscriptionjeudi 16 janvier 2003StatutMembreDernière intervention20 mai 20113 17 oct. 2005 à 14:28
salut,
les utilisateur vont lire our ecrire le contenu de ce cahmps ?
je pense que tu peux tout a fait te débrouiller pour lancer le traitement en parallele et que les utilisateurs ne "souffrent" pas du temps de traitement.
cs_Sbt
Messages postés47Date d'inscriptionmardi 29 avril 2003StatutMembreDernière intervention22 mai 20121 17 oct. 2005 à 21:07
Merci aieeeuuuuu !!!
Les utilisateurs lisent le champ... c'est tout...
On va essayer de faire ce que tu dis...
On leur soumet les perfs... En plus, on va mettre a jour le champ à la premiere lecture. Comme ca les suivantes seront rapides...
On verra bien...
aieeeuuuuu
Messages postés698Date d'inscriptionjeudi 16 janvier 2003StatutMembreDernière intervention20 mai 20113 18 oct. 2005 à 10:09
re,
eh bien si les utilisateur n'insere jamais, le delais d'insertion ne sont pas tres importants, donc tu peux meme faire un trigger avec une table temporaire pour decuper ton texte. comme ca le texte est directement formatté dés qu'il arrive en base. car si tu fait seulement a la premiere lecture, ca t'oblige à vérifier a chaque lecture si le texte a deja été formatté. en plus la premiere lecture risque de subir les délais de traitement.