我正在從觸發器調用過程並將某些參數從觸發器傳遞到過程。參數是:使用sp_executesql執行時,SQL Server語法異常不正確
@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 = '[email protected]+N' AND MyColumnB = '[email protected]+N' AND MyColumnC = '[email protected];
不知何故,神奇地,我們會知道什麼值被髮送到這些參數?沒有參數值就無法檢查語法。 –
@Used_By_Already我按照你的要求更新了問題。 – Tunahan