J'ai ce proc:SQL dynamique - quelque chose avec la clause where
Create PROCEDURE [dbo].[myProc]
@TableName nvarchar(100),
@RowID int
AS
BEGIN
SET @SQLQuery = 'Select * from ' + @TableName + ' where ID = ' + @RowID ;
EXECUTE(@SQLQuery);
END
Je veux essentiellement retourner la ligne résultant de cela, sans clause where, son tout bon.
Cela vous convient pour ce que vous voulez faire (quelle que soit la vulnérabilité de SQL Injection). Qu'est-ce qui ne fonctionne pas? – Oded
Si je supprime la clause where, j'obtiens des résultats. Mais avec la clause where de I get: La conversion a échoué lors de la conversion de la valeur nvarchar 'Select * from [TableName] où ID =' en type de données int. –
Ajouter une impression @SQLQuery et vous pouvez exécuter la requête générée et vérifier si elle retourne des lignes –