如何将数组传递到SQLServer存储过程

如何将数组传递到SQLServer存储过程

如何将数组传递到SQLServer存储过程?

例如,我有一份员工名单。我想使用这个列表作为一个表,并将它与另一个表连接起来。但是,员工列表应该作为参数从C#传递。


交互式爱情
浏览 1171回答 3
3回答

红糖糍粑

根据我的经验,通过从EmployeeID创建一个分隔表达式,这个问题有一个棘手而又好的解决方案。您应该只创建一个字符串表达式,如下所示';123;434;365;'在.123, 434和365是一些雇员身份证。通过调用以下过程并将此表达式传递给它,您可以获取所需的记录。您可以轻松地将“另一个表”加入到这个查询中。此解决方案适用于所有版本的SQL Server。另外,与使用TABLE变量或TEMP表相比,它具有更快的速度和更好的解决方案。CREATE PROCEDURE dbo.DoSomethingOnSomeEmployees  @List AS varchar(max)ASBEGIN   SELECT EmployeeID    FROM EmployeesTable   -- inner join AnotherTable on ...   where @List like '%;'+cast(employeeID as varchar(20))+';%'ENDGO
打开App,查看更多内容
随时随地看视频慕课网APP