Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : create dynamique de colonnes [ SQL Server, MSDE, SQL Express / Procédures Stockées ] (stefsoft)

vendredi 15 décembre 2006 à 10:59:06 | create dynamique de colonnes

stefsoft

Bonjour,
je crée un table dynamiquement dans ma procédure stockée
CREATE TABLE #table (id int, nom nvarchar(30))
je veux lui ajouter des colonnes dynamiquement
le nombre de colonne dépend d'une autre table (nombre ligne de l'autre table = nombre de nouvelles colonnes de ma table dynamique)

voici le code qui me génère une erreur

SET @I=@NbOfRow

WHILE @I>0
BEGIN
   SET @RowName='H' + rtrim(convert(nvarchar(9),@I))
   ALTER TABLE #Sortie ADD @RowNameint
   SET @I=@I-1
END

Comment peut on créer une colonne à partir d'une variable ?


vendredi 15 décembre 2006 à 11:35:38 | Re : create dynamique de colonnes

vlaad

Réponse acceptée !
Bonjour,
Je pense que l'analyseur n'azime pas que tu lui passe une variable locale comme variable locale.
Le truc est de passer tout tes paramètres dans une chaine, et d'executer la procédure stockée sp_executesql.
Elle permet d'executer un lot d'instruction sql créé dynamiquement.
Ton code ressemblerait alors a cela.

SET @I=@NbOfRow

declare
@sql_command nvarchar(500);
set @sql_command='';

WHILE
@I>0
BEGIN
   SET @RowName='H' + rtrim(convert(nvarchar(9),@I))

   set @sql_command='ALTER TABLE '+
#Sortie + 'ADD '+convert(varchar(100),@RowName ) +'int'
exec sp_executesql  @sql_command

   SET
@I=@I-1
END

Tiens moi au courant.

Les programmeurs sont rois....Ceux qui ne croient pas en nous sont des fous...


vendredi 15 décembre 2006 à 11:48:26 | Re : create dynamique de colonnes

stefsoft

Merci cela fonctionne




Cette discussion est classé dans : set, nombre, dynamique, table, colonnes


Répondre à ce message

Sujets en rapport avec ce message

Nombre de ligne optimal d'une table? sql server 2000 [ par vindavid38 ] ZanTarBonjour est ce quelqu'un saurait s'il y a une taille optimale (en nombre de ligne) pour une table avec SQL server 2000.??merci bcp de rep@+ retourner valeur des champs et le nombre d'enregistrments correspondant dans un table liée [ par the_mouette ] Bonjour tout le monde!bon, le titre n'étant pas très clair, je vais essayer d'expliquer mieux :de manière simple, j'ai une table messages (disons ID_M selection d'une qté ds une table [ par cudenetf ] bonjour,j'ai une table ou g des clients homme ou femmeceux-ci se distinguent par un bit M.J'aimerais pouvoir faire la difference entre le nombre d'hom creer une table de plus de 11 colonnes vers Access par programmation [ par romagny13 ] Bonjour,- j'utilise visual studio 2005 en C# et je passe par System.Data.OleDb pour executer ma requete  -lorsque j'execute une requete permettant de nombre de valeurs identiques [ par xantro ] Bonjour à toutes et à tous.Je tiens d'abord à m'excuser pour le nom de ce sujet mais j'ai rien trouvé de mieux pour résumer mon problème, qui est le s Compter avec SQL [ par roud59 ] Bonjour (Bonsoir) à vous tous. J'ai posé une question (par erreur) sur DelphiFR, mais je pense trouver quelqu'un qui pourra m'aider pus faciement ici. compter [ par aymen85 ] salut...je vien de debuter en sql..j arrive pas a trouver comment retourner le nombre de table dans une base de donner ,,et le nombre d'enregistrement Modifier la structure des colonnes d'une table [ par alonsyl ] Bonjour,j'utilise access.on vient de me donner une table dont les colonnes sont les suivantes :1) NomEleve2) Matiere3) Notepour integrer cette table a Vue d'ensemble d'une BDD [ par astromanweb ] Bonjour,Je souhaiterai créer une "vue d'ensemble" de ma base de données.Par exemple :  le nombre d'enregistrements, la taille de la table pour chaque insertion de nombre de 1 à N [ par ftug ] Bonjour,j'aimerai inserer dans une table des nombre de 1 à N avec le moins de requetes possible ( le serveur SQL est déjà bien chargé )pour l'instant


Nos sponsors

Sondage...

CalendriCode

Janvier 2009
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,281 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.