J'appelle une procédure à partir d'un déclencheur et passe certains paramètres du déclencheur à la procédure. Les paramètres sont:Exception de syntaxe incorrecte de SQL Server lors de l'exécution avec sp_executesql
@table_name varchar(128), @where_str varchar(200)
A l'intérieur de la procédure, je suis l'exécution d'une commande avec sp_executesql
. Je pense que j'utilise une syntaxe incorrecte, mais je n'ai pas trouvé la résolution.
Ceci est la requête exécutée:
SET @SqlString = N'update @ptable_name set RepSt=2 @pwhere_str';
SET @ParmDefinition = N'@ptable_name varchar(128), @pwhere_str varchar(200)';
execute sp_executesql @SqlString, @ParmDefinition,
@ptable_name = @table_name, @pwhere_str = @where_str;
paramètres passés sont comme ça:
@table_name
est[MyTable]
@where_str = N'where MyColumnA = '[email protected]+N' AND MyColumnB = '[email protected]+N' AND MyColumnC = '[email protected];
Et d'une manière ou d'une autre, magiquement, nous saurons quelles valeurs ont été envoyées à ces paramètres? La syntaxe ne peut pas être vérifiée sans les valeurs de paramètre. –
@Used_By_Already J'ai mis à jour la question comme vous l'avez demandé. – Tunahan