TSQL dynamique de l'ajout de colonnes dans une procédure stockée
Salut, je suis en train d'écrire une procédure stockée grande, ce qui crée un rapport dynamique de la table, de n colonnes dont les 6 premiers sont constants, le reste dépend de quelques arguments passés à la procédure pour créer la table avec les colonnes requises.
Le problème que je rencontre est le suivant TSQL
DECLARE @columnname VARCHAR(50)
SET @columnname = 'on_' + @description
IF NOT EXISTS(SELECT * FROM syscolumns WHERE id = OBJECT_ID('reports')
AND NAME = @columnname)
BEGIN
ALTER TABLE reports ADD @columnname VARCHAR(50) NULL
END
J'obtiens des erreurs de syntaxe avec les @columnname dans l'instruction ALTER TABLE de code ci-dessus.
Aussi comme je suis nouveau à cela, je ne suis pas sûr si c'est la meilleure façon de le faire, ou s'il existe de meilleures façons de TSQL pour générer la nécessaire dynamique de la table.
OriginalL'auteur Grant Collins | 2009-06-05
Vous devez vous connecter pour publier un commentaire.
Essayez ceci:
OriginalL'auteur SqlACID
Essayer
OriginalL'auteur Roy Goh
Ne peut pas contourner avoir à le faire de manière dynamique je pense donc changer votre bloc BEGIN à quelque chose comme ceci:
OriginalL'auteur Christopher Klein