如何使用EXEC sp_executesql
在sql查询中传递字符串变量?
原始和有效的查询是:
update database01.dbo.Docs SET property1 = NULL where [name] like 'doc.xls'
我需要构建此查询,如下所示:
DECLARE @FileName NVARCHAR(30),
@Query NVARCHAR(MAX)
SET @fileName = 'doc.xls'
SET @Query = 'update database01.dbo.Docs SET property1 = NULL where [LeafName] like ' + @FileName
EXEC sp_executesql @Query
非常感谢您的支持。
此致
答案 0 :(得分:0)
对于给定的查询,您不需要动态SQL ...但是如果您想要这样做,则应该使用参数。
以下链接执行文档:sp_executesql
DECLARE @FileName NVARCHAR(30),
@Query NVARCHAR(MAX)
SET @fileName = 'doc.xls'
SET @Query = N'update database01.dbo.Docs SET property1 = NULL where [LeafName] like = @File';
EXECUTE sp_executesql @Query,N'@File NVARCHAR(30)', @File = @fileName;