Probleme ALTER TABLE

Probleme ALTER TABLE - SQL/NoSQL - Programmation

Marsh Posté le 20-01-2006 à 15:13:50    

Bonjour,
 
Je passe une variable @NomGrille depuis un site ASP vers la procedure NEWTABLE dans SQL serveur
 
Voici ma procedure
 

Code :
  1. CREATE PROCEDURE [qau414].[NEWTABLE]
  2. (
  3. @NomGrille char (10)
  4. )
  5. AS
  6. ALTER TABLE Articles ADD @NomGrille money
  7. GO


 
SQL me renvoie une erreur au environ de @NomGrille ????
Si je change la ligne :
 
ALTER TABLE Articles ADD @NomGrille money
 
Pour  
 
ALTER TABLE Articles ADD TEST money
 
Ca marche, mais le probleme est que je doit creer des colonnes differentes a chaque appel de la procedure.
C'est pour cela que j'ai mis une variable.
 
Ma syntaxe est surement fausse, mais je ne sais pas comment m'en defaire.
 
Votre aide serait precieuse.
Merci
 

Reply

Marsh Posté le 20-01-2006 à 15:13:50   

Reply

Marsh Posté le 20-01-2006 à 15:53:14    

Tu ne peux pas utiliser de variable en tant que nom de table / champ sans utiliser de SQL dynamique.
 
C'est-à-dire qu'il faut construire une chaîne de caractères contenant le ALTER TABLE à exécuter :
 
http://www.sqlteam.com/item.asp?ItemID=4619
 
J'ai jamais touché à SQL Server, mais ça devrait donner ça :
 

Code :
  1. CREATE PROCEDURE [qau414].[NEWTABLE]
  2. (
  3. @NomGrille char (10)
  4. )
  5. AS
  6.   Declare @SQL VarChar(1000)
  7.   Select @SQL = 'ALTER TABLE articles ADD ' + @NomGrille + ' money'
  8.   Exec(@SQL)
  9. GO

Reply

Marsh Posté le 20-01-2006 à 16:19:02    

Merci beegee,
 
CT un probleme de syntaxe ... tou simplement.
 
Je vais enfin pouvoir avancer dans mon proget grace a toi !

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed