我的选择查询需要存储过程。
我的问题是我有字符串数组它包含多个移动数字来比较数据库表(如果可用或不存在)。如果有可用的返回行值。
我正在使用mysql 5.1。在select查询中比较数组值不支持。
我收到错误 Mysql功能不支持异常。所以我将使用“字符串”构建器更改我的代码。 我已经问过了。
我的问题:[Mysql Stored procedure with java String Array
因此,如果有可能使用Store过程比较数组值。 我的选择查询是:
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 :(得分: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。