你知道这里有什么问题吗?
所有变量都是 nvarchar。当@FunctionValue 包含字符串格式的 INT 时会发生错误。
IF @TargetType = 'INT'
BEGIN
SELECT @SQLSTR = 'UPDATE ' + @TargetTable +
' SET ' + @TargetColumn + ' = ' + COALESCE(CAST(@FunctionValue AS INT), CAST(@Value AS INT)) +
' '
END