stefsoft
Messages postés119Date d'inscriptionlundi 15 avril 2002StatutMembreDernière intervention28 novembre 2008
-
15 déc. 2006 à 10:59
stefsoft
Messages postés119Date d'inscriptionlundi 15 avril 2002StatutMembreDernière intervention28 novembre 2008
-
15 déc. 2006 à 11:48
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 @RowName
int
SET @I =@I-1
END
Comment peut on créer une colonne à partir d'une variable ?
vlaad
Messages postés79Date d'inscriptionmardi 29 juin 2004StatutMembreDernière intervention18 décembre 20063 15 déc. 2006 à 11:35
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))