将变量传递给SQL存储过程中的IN语句

时间:2016-10-03 17:04:58

标签: sql

我试图将可变数量的数字传递给存储过程来限制它的输出。让我们说我有6个部门编号为1,2,3,4,5,6。我希望用户输入任何种类的这些数字。因此,他们可能会选择1,3,6或仅2,4或3,或任何他们想要看到的东西。可以像变量一样传递到存储过程的WHERE子句中的IN语句吗?如果没有,那怎么办呢?我想尽量保持简单。谢谢!

1 个答案:

答案 0 :(得分:0)

将值数组传递给存储过程的通用且健壮的SQL方法需要多个语句。

  1. 将您的值插入(临时)表格。
  2. 调用应该包含此表的连接逻辑的存储过程。
  3. 从表格中删除最近添加的值(如有必要)
  4. 您可能希望将这些语句包含在事务中。