|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre éclairé
![]() Inscription : mars 2002 Messages : 667 ![]() |
Bonjour,
Je reprends une application dans laquelle une procédure stockée concatène tous les champs d'une table. Le problème est que le nombre de champs est important et que la table concernée n'a pas toujours le même nom même si elle toujours a la même structure. Je voudrais créer une fonction qui recevrait en paramètre le nom de la table à traiter et retournerait une chaine de caractère. J'arrive bien à recomposer le nom du champ en le préfixant du nom de la table reçu en paramètre mais je ne sais pas récupérer sa valeur. Merci d'avance pour votre aide |
|
|
00
|
|
|
#2 | ||||||
|
Membre éprouvé
![]() ![]() Hamid MIRAIngénieur développement logiciels Inscription : septembre 2003 Messages : 177 ![]() |
Tu devrais être plus explicite en nous fournir un exemple concrêt même simple. A lecture de ton message, et si je comprend bien, tu devrais regarder du côté de l'utilisation du SQL dynamique sous SQL Server (sp_executesql)
Ci-dessous un exemple : Code :
Code :
Code :
|
||||||
|
|
00
|
|
|
#3 |
![]() ![]() ![]() Nicolas SouquetAdministrateur de base de données Inscription : janvier 2005 Messages : 4 667 ![]() |
Bonjour,
C'est un bon début mais c'est plus compliqué. Il vous faut connaître le type de données de la colonne pour les transtyper du type vers du nvarchar (sauf si vous n'avez aucune valeur littérale contenant d'autres caractères que ceux de l'alphabet latin, auquel cas le varchar suffit). Vous devrez donc recourir aux tables sys.tables, sys.columns et sys.types, utiliser la fonction CAST(), et la fonction CONVERT() pour les dates. Quel est le but de la manœuvre ? @++
__________________
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 |
|
00
|
Copyright © 2000-2012 - www.developpez.com