Bonjour,
voici un petit problème syntaxique dans l'écriture d'une procédure stockée en SQL Server 2005.
Je souhaite exécuter un select contenant des variables.
Le select suivant fonctionne en mode SQL Query:
Par contre dans ma procédure je passe mon nom de table et de colonne en paramètre. Pour comprendre la syntaxe ici je les déclare dans la procédure:
Code : Sélectionner tout - Visualiser dans une fenêtre à part SELECT col FROM table WHERE col='nomcol'
=> erreur à l'exécution
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 DECLARE @nomcol varchar(50) DECLARE @table varchar(50) DECLARE @SQLReq varchar(100) SET @nomcol='nomcol' SET @table='table' SET @SQLReq='SELECT col FROM ' + @table + ' WHERE col=' + @nomcol EXEC (@SQLReq)
Si je mets:
Cela fonctionne !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 SET @SQLReq='SELECT col FROM ' + @table + ' WHERE col=''nomcol''' EXEC (@SQLReq)
Où est l'erreur ? Connaissez vous des documents qui expliqueraient tous ces problèmes de syntaxe ? Merci.
Partager