2015-02-10 48 views
0

我需要存儲過程爲我的選擇查詢。存儲過程與選擇在哪裏陣列

我的問題是我有字符串數組它包含多個移動號碼來比較數據庫表,如果可用或不。如果可用返回行值。

我正在使用mysql 5.1。它不支持在select查詢中比較數組值。

我得到錯誤不支持Mysql功能異常 .so我將使用String builder更改我的代碼。 我已經問過了。

我的問題:Mysql Stored procedure with java String Array

因此,如果任何可以比較使用存儲過程數組值。 我選擇的查詢是:

SELECT USER_ID, USER_NAME, REGISTRATION_ID, IMEI_CODE, MOBILE_NUMBER FROM USER WHERE MOBILE_NUMBER IN (String_array); 

在此查詢返回如果

`String_array = 「one_string_values」;

它返回單個行。[用java JDBC queryforObject]

如果string_array = 「array_of_values」`

它返回任何結果我得到異常mysql的功能,不支持例外

任何在我的方案中使用存儲過程的可能性。

回答

0

您基本上想要將多個值傳遞給MySQL中的存儲過程。在SQL Server中,您可以將XML塊(以字符串形式)傳遞給SP,然後輕鬆解析該XML從SP正文中提取多個值。在MySQL中,我認爲這不太可能。你可以做的最好的事情:

1)傳遞一個逗號分隔的字符串給SP並解析它在SP中的字符串;

2)動態生成的SQL:
MySQL stored procedure that accepts string with multiple parameters

3)你也可以看看FIND_IN_SET功能;

4),你也可以檢查XML功能:
http://dev.mysql.com/doc/refman/5.1/en/xml-functions.html
和extractValue一起特別。

+0

謝謝reply.Now我檢查它。 – nmkkannan 2015-02-10 08:34:49

+0

第二個更好。謝謝..他的工作.. – nmkkannan 2015-02-10 09:46:23