首页 > 解决方案 > 有人可以转换代码以使其使用 EXEC @sql 而不是 EXEC sp_executesql 吗?

问题描述

这是我想转换的存储过程:-

ALTER PROCEDURE GetName @ClientName nVarchar(max)
AS
BEGIN
DECLARE @sql NVARCHAR(MAX)
    DECLARE @name NVARCHAR(MAX)
    SET @name = '%'+@ClientName+'%'
    SET @sql=
    'SELECT 
    Name 
    from AddData 
    where Name like @name'
    EXEC sp_executesql @sql,N'@name NVARCHAR(MAX)',@name=@name
END
GO

标签: sql-server

解决方案


动作的意思不明确,但要替换

CREATE PROCEDURE GetName @ClientName nVarchar(max)
AS
BEGIN   
    EXEC (N'SELECT 
    Name 
    from AddData 
    where Name like ''%' + @ClientName + '%''')
END
GO

推荐阅读