Précédent   Forum des professionnels en informatique > Bases de données > MS SQL-Server > Développement
Développement Forum d'entraide sur le Transact-SQL, le CLR, les procédures stockées, les triggers, les requêtes SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/11/2010, 10h06   #1
Invité régulier
 
Inscription : juillet 2002
Messages : 57
Détails du profil
Informations forums :
Inscription : juillet 2002
Messages : 57
Points : 5
Points : 5
Par défaut [SQL2005][SQL]Concaténation varchar dans ntext

Bonjour à tous,

Je travaille sur un outil de workflow qui est basé sur une DB SQL Server 2005. Lors de mon workflow, je peux appliquer des requetes SQL.

Or, j'ai un champ ntext auquel je voudrais concaténer une phrase au début (je n'ai pas choisi que ce soit du ntext, je n'ai aucune possibilité de le modifier).

En gros, j'aimerais faire ça :
Code :
1
2
3
4
5
6
7
 
UPDATE maTable
SET monChampDescription = 
'texte que je veux mettre au début de mon champ'
+
monChampDescription 
WHERE ID = @@ID@@
Mais j'ai vu qu'avec du ntext, la seule possibilité de concaténer, c'est d'utiliser UPDATETEXT, mais je ne comprend pas comment il fonctionne.

Je mettrais ça, mais je ne vois pas où je peux placer mon WHERE pour préciser quel champ je traite...

Code :
UPDATETEXT maTable monChampDescription 0 0 'texte que je veux mettre au début de mon champ'
Merci d'avance pour votre aide
mystar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/11/2010, 10h36   #2
Rédacteur/Modérateur

 
Avatar de SQLpro
 
Homme Frédéric BROUARD
Expert SGBDR & SQL
Inscription : mai 2002
Messages : 10 930
Détails du profil
Informations personnelles :
Nom : Homme Frédéric BROUARD
Localisation : France

Informations professionnelles :
Activité : Expert SGBDR & SQL
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 10 930
Points : 17 724
Points : 17 724
ntext n'est pas prévu pour faire du relationnel. Il est en sus deprecated, c'est à dire obsolète. Il ne sera plus supporté dans de futures version.

Transformez le en VARCHAR(max) et tout ira mieux !

A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro
http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation
* * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *
SQLpro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/11/2010, 10h52   #3
Invité régulier
 
Inscription : juillet 2002
Messages : 57
Détails du profil
Informations forums :
Inscription : juillet 2002
Messages : 57
Points : 5
Points : 5
Merci beaucoup pour la réponse.... Le gros problème, c'est que je ne peux pas changer le type

Par contre, est-ce que je perdrais des données si je faisais un convert de mon ntext en varchar(max), que je concatène mon texte, puis que je refasse un convert en ntext ?
mystar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/11/2010, 18h02   #4
Modérateur

 
Avatar de elsuket
 
Homme Nicolas Souquet
Administrateur de base de données
Inscription : janvier 2005
Messages : 4 658
Détails du profil
Informations personnelles :
Nom : Homme Nicolas Souquet
Âge : 30
Localisation : Thaïlande

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : janvier 2005
Messages : 4 658
Points : 8 690
Points : 8 690
Non. Pourquoi ne pouvez-vous pas changer le type de la colonne ?

@++
__________________
En bases de données relationnelles SQL, il n'y a ni tableaux, ni enregistrements, ni champs: il y a des tables, des lignes et des colonnes.
Blog | Profil| Consulter ou télécharger les fichiers d'aide de SQL Server, des versions 2000 à 2012
elsuket est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/11/2010, 11h43   #5
Rédacteur/Modérateur

 
Avatar de SQLpro
 
Homme Frédéric BROUARD
Expert SGBDR & SQL
Inscription : mai 2002
Messages : 10 930
Détails du profil
Informations personnelles :
Nom : Homme Frédéric BROUARD
Localisation : France

Informations professionnelles :
Activité : Expert SGBDR & SQL
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 10 930
Points : 17 724
Points : 17 724
Citation:
Envoyé par mystar Voir le message
Merci beaucoup pour la réponse.... Le gros problème, c'est que je ne peux pas changer le type

Par contre, est-ce que je perdrais des données si je faisais un convert de mon ntext en varchar(max), que je concatène mon texte, puis que je refasse un convert en ntext ?
Non, si vous suivez cette manière de faire :
http://sqlpro.developpez.com/cours/s...partie2#L7.6.1
Le tout dans une transaction

A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro
http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation
* * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *
SQLpro est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h54.


 
 
 
 
Partenaires

Hébergement Web