[摘录]使用存储过程查询,传送数组参数并且批量查询数据

节选自: https://blog.csdn.net/u013252950/article/details/106942778/

 

一般传递的参数形式为@queryPara=刘一刀,黄灿,蓝田忠

CREATE PROCEDURE [dbo].[getPersonPrintInfor2]
    -- Add the parameters for the stored procedure here
    --查询人名参数
    @queryName nvarchar(100)
    
AS
BEGIN
    --声明一个存储SQL语句的参数
    declare @querySql nvarchar(1000)
    -- SET NOCOUNT ON added to prevent extra result sets from
    -- interfering with SELECT statements.

    SET NOCOUNT ON;
    --将刘一刀,黄灿,蓝田忠的参数形式装换为('刘一刀','黄灿','蓝田忠')的形式
    set @queryName='('''+REPLACE(@queryName,',',''',''')+''')'
    --拼接SQL为"select * from dbo.V_Print_Content where personName in ('刘一刀','黄灿','蓝田忠')"
    set @querySql='select * from dbo.V_Print_Content where personName in '+@queryName;
    

    --执行拼接好的SQL语句就可以完成批量查询
    exec(@querySql)
    
END

查询结果

posted @ 2023-06-19 15:18  YukiRinLL  阅读(3)  评论(0编辑  收藏  举报