PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WEBDEV 2024 → Mémo Texte tronqué dans requête SQL
Mémo Texte tronqué dans requête SQL
Débuté par Gilles G., 06 mai 2004 14:16 - 3 réponses
Posté le 06 mai 2004 - 14:16
J'utilise Webdev avec une base ACCESS avec des champs mémo texte. Les requêtes
SQL (créés avec l'éditeur WebDev)tronquent les champs mémo a 255.

L'outil WWMap ne les tronquent pas !

Bug Webdev ?
Posté le 06 mai 2004 - 16:15
Salut, j'ai eu le meme problème, et j'ai du redéfinir les rubrique "mémo"
de mon analyse en champ texte(longueur 10000)


"Gilles G." <gilles.grandhaye@delphi.com> wrote:


J'utilise Webdev avec une base ACCESS avec des champs mémo texte. Les requêtes
SQL (créés avec l'éditeur WebDev)tronquent les champs mémo a 255.

L'outil WWMap ne les tronquent pas !

Bug Webdev ?
Posté le 07 mai 2004 - 10:30
"yo" <positive.vibration@cramail.com> wrote:


Salut, j'ai eu le meme problème, et j'ai du redéfinir les rubrique "mémo"
de mon analyse en champ texte(longueur 10000)



J'ai trouvé la cause du probléme : Ne pas utiliser DISTINCT dans un SELECT
avec des champs mémo Texte (sinon ils sont tronqués a 255 caractéres).
Pourquoi ?
"Gilles G." <gilles.grandhaye@delphi.com> wrote:


J'utilise Webdev avec une base ACCESS avec des champs mémo texte. Les requêtes
SQL (créés avec l'éditeur WebDev)tronquent les champs mémo a 255.

L'outil WWMap ne les tronquent pas !

Bug Webdev ?

Posté le 07 mai 2004 - 17:48
Gilles G wrote:
"yo" <positive.vibration@cramail.com> wrote:


Salut, j'ai eu le meme problème, et j'ai du redéfinir les rubrique
"mémo" de mon analyse en champ texte(longueur 10000)



J'ai trouvé la cause du probléme : Ne pas utiliser DISTINCT dans un
SELECT avec des champs mémo Texte (sinon ils sont tronqués a 255
caractéres). Pourquoi ?



je ne sais pas pourquoi car je n'ai pas testé (surtout si c'est du HF car je
n'utilise qu'oracle ou mySQL) .
Mais surtout, je ne vois pas pourquoi j'utiliserai du distinct sur un champs
memo.

Il faut quand meme bien rappeler à quoi sert le distinct. C'est une fonction
qui permet de remonter les valeurs distinctes retrouvées dans un champ.

Cela s'utilise principalement sur des champs de type codes pour définir les
différentes valeurs voire éliminer les doublons sur un champs libellé ou
nom. Faire un traitement de ce type sur un champs mémo est à mon avis
innapproprié et cela revient à charger inutilement "la mule" pour ne pas
dire le moteur sql.

En conclusion faire un select distinct monmemo from matable devrait te
donner la meme chose qu'un select monmemo from matable, ou alors c'est que
tu as de la redondance dans ce type de champs, et c'est peut être que ton
modèle à un pb de conception.

Donc que cela soit tronqué à 255 caract ne me choque pas.

J'ajoute que si tu fais un select distinct avec plusieurs colonnes, (surtout
des colonnes de type texte) tu as peu de chances de tomber sur un résultat
différent d'un select tout court.

Donc il faut utiliser DISTINCT pour ce qu'il est fait.
Nb : attention aussi au distinct row d'ACCESS qui est un contre sens absolu
(et connu) .
Plus d'info ici http://sqlpro.developpez.com/SQL_AZ_E.html…