sql-server - 有人可以转换代码以使其使用 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
解决方案
动作的意思不明确,但要替换
CREATE PROCEDURE GetName @ClientName nVarchar(max)
AS
BEGIN
EXEC (N'SELECT
Name
from AddData
where Name like ''%' + @ClientName + '%''')
END
GO
推荐阅读
- clojure - Clojure 将映射向量转换为向量值映射
- excel - 如何获取在excel中创建的最后一张工作表?
- javascript - 将递归函数转换为javascript中的迭代
- amazon-web-services - AWS API Gateway 二进制损坏
- c# - 我错过了在枚举上使用 [Display(Name = "string")] 的方法吗?
- python - Python - 从excel文件中获取数字而不是公式
- android-camera2 - 如何显示从 ML Kit 检测到的文本并将其显示在单词的实际位置
- javascript - 我正在使用 javaScript 学习快速排序,并且代码在我犯错的地方不起作用?
- android - 即使使用 -f -jn 命令也无法解决 repo 同步失败(获取错误)
- php - 如何用新方法扩展 Laravel 模型、集合?