Bonjour !
J'essaie d utiliser une procedure stockee avec du SQL dynamique, et j ai le droit à tout plein de messages d'erreur... malgré mes nombreuses tentatives... Peut ete que c'est flagrant, et que quelque chose va vous sauter aux yeux... Mais moi je sèche là...
Et lorsque j utilise, j ai le + souvent ce message d'erreur là (avec ou sans la fonction convert... ):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 CREATE PROCEDURE SearchDocs ( @ModuleID int, @Req nvarchar(300) ) as BEGIN DECLARE @SQL varchar(8000) SELECT @SQL= 'SELECT DISTINCT Docs.FileName, Docs.FilePath, Docs.Category, FROM Docs WHERE Docs.ModuleID =' SELECT @SQL = @SQL+ 'convert(int,' + " '@ModuleID' " +') ' SELECT @SQL= @SQL + @Req EXEC (@SQL) END GO
Erreur de syntaxe lors de la conversion de la valeur varchar '@ModuleID' vers une colonne de type de données int.
Lorsque j enlève la série de ' ' et de " " (les espaces ne sont pas dans la procédure initiale, c est rajouté ici pour la lisibilité) autour de la variable @ModuleID, j'obtiens une erreur comme quoi @SQL est incorrect...
Je suppose que je n utilise pas la bonne syntaxe... Je cherche, mais j avoue qu une piste me ferait gagner un peu de temps...
Partager