【发布时间】:2017-10-09 08:53:45
【问题描述】:
我正在从触发器调用过程并将一些参数从触发器传递到过程。参数是:
@table_name varchar(128), @where_str varchar(200)
在过程中,我正在使用sp_executesql 执行命令。我想,我使用了不正确的语法,但我找不到解决方案。
这是执行的查询:
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;
传递的参数是这样的:
-
@table_name是[MyTable] @where_str = N'where MyColumnA = '+@oldMyColumnA+N' AND MyColumnB = '+@oldMyColumnB+N' AND MyColumnC = '+@oldMyColumnC;
【问题讨论】:
-
不知何故,神奇地,我们会知道哪些值被发送到这些参数?没有参数值就无法检查语法。
-
@Used_By_Already 我已按照您的要求更新了问题。
标签: sql-server stored-procedures triggers syntax-error