我有我的存储过程的以下修改:使用EXEC来创建存储过程在SQL Server中运行更新字符串列2008
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[spTMSA_Test_Run]
@TableName nvarchar(200) = 'MyTable',
@Parent int = 1145,
@Name nvarchar(100) = '''Test''',
@KPI nvarchar(max) = '''Test''',
@IDCount int = 1137
AS
BEGIN
EXEC('UPDATE ' + @TableName + ' SET Parent = ' + @Parent + ', Name = ' + @Name + ' , KPI = ' + @KPI + ' WHERE IDCount = ' + @IDCount)
END
,如果我前后给了“””这个过程被成功执行字符串值。如果我离开'字符串值之前和之后它会导致错误。
请帮我找出原因和解决方法。谢谢
由于您的查询是动态的,并且您将一个字符串连接到它。 Sql将它标识为一个字符串,只要将它放在''' – Mani