SQL Server 存储过程SQL语句的拼接

场景

在存储过程中拼接SQL,有过经历的人都知道,字符拼接的单引号是多么的…本人觉得这玩意类似于正则了,就是不断尝试,碰巧又撞到了新的写法,拼接 in语句 ,这里就记录下…

直接上SQL

DECLARE @Id NVARCHAR(max);
DECLARE @Name NVARCHAR(50);
DECLARE @SQL NVARCHAR(MAX);

Set @Id='N''31CB7589-98F4-411B-82BB-66497B252FB3'',N''31CB7589-98F4-411B-82BB-66497B252FB3'',N''31CB7589-98F4-411B-82BB-66497B252FB3''';
Set @Name=N'张三';

Set @SQL='Select * From Person where Name=N'''+@Name+'''';
Set @SQL+=' and F_Id in('+@Id+')';

-- 打印
print(@SQL)
-- 执行
exec(@SQL)

    这样拼出来的SQL是正确,可以执行的,结果如下:
《SQL Server 存储过程SQL语句的拼接》

    原文作者:-小龙人
    原文地址: https://blog.csdn.net/qq_36330228/article/details/111642215
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞