为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

交互式爱情 2019-06-12 15:05:39
如何将数组传递到SQLServer存储过程如何将数组传递到SQLServer存储过程?例如,我有一份员工名单。我想使用这个列表作为一个表,并将它与另一个表连接起来。但是,员工列表应该作为参数从C#传递。
查看完整描述

3 回答

?
红糖糍粑

TA贡献1815条经验 获得超6个赞

根据我的经验,通过从EmployeeID创建一个分隔表达式,这个问题有一个棘手而又好的解决方案。您应该只创建一个字符串表达式,如下所示';123;434;365;'在.123434365是一些雇员身份证。通过调用以下过程并将此表达式传递给它,您可以获取所需的记录。您可以轻松地将“另一个表”加入到这个查询中。此解决方案适用于所有版本的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


查看完整回答
反对 回复 2019-06-12
  • 3 回答
  • 0 关注
  • 1170 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信