2009-07-24 236 views
1

我想从数据库中抓取x个项目,我想知道是否有一种方法 将某些数字列表传递给存储过程以用于WHERE IN?MySQL存储过程参数

SELECT item_id, item_description 
FROM items 
WHERE item_id IN (NEED_LIST_OF_IDS_HERE); 

我不应该为这个查询使用存储过程,只是在应用程序中建立sql?

或者我应该为每个item_id分别调用一次数据库调用吗?

注意:项目不是表的实际名称,所以不要打我一个可怜的名字的选择,我只是隐藏实现。从一年前

回答

0

可怜的悬而未决的问题......

如果你没有使用IN子句,你当然可以生成/编写存储过程中的SQL并执行它。 IN子句的参数化很难。

如何传递ID列表,在存储过程中创建一个临时表,然后加入到项目表中?