2009-07-24 473 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列表,在存儲過程中創建一個臨時表,然後加入到項目表中?