select 的存储过程 where in array
Stored procedure with select where in array
我的 select 查询需要 存储过程。
我的问题是我有字符串数组,它包含多个手机号码以比较 db table(如果可用)或 not.if 可用 return 行值。
我正在使用 mysql 5。1.It 不支持在 select 查询中比较数组值。
我收到错误 Mysql 功能不支持的异常 。所以我将使用字符串生成器更改我的代码。
我已经问过了。
我的问题:[Mysql Stored procedure with java String Array
因此,如果有可能使用存储过程比较数组值。
我的 select 查询是:
SELECT USER_ID, USER_NAME, REGISTRATION_ID, IMEI_CODE, MOBILE_NUMBER FROM USER WHERE MOBILE_NUMBER IN (String_array);
在此查询中 return if
`String_array = "one_string_values";
它 return 单行。[使用 java jdbc queryforObject]
如果string_array = "array_of_values"`
它return 什么都没有我得到异常Mysql 功能不支持异常
在我的场景中使用存储过程的任何可能性。
您基本上想将多个值传递给 MySQL 中的存储过程。在 SQL 服务器中,您可以将 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。
我的 select 查询需要 存储过程。
我的问题是我有字符串数组,它包含多个手机号码以比较 db table(如果可用)或 not.if 可用 return 行值。
我正在使用 mysql 5。1.It 不支持在 select 查询中比较数组值。
我收到错误 Mysql 功能不支持的异常 。所以我将使用字符串生成器更改我的代码。 我已经问过了。
我的问题:[Mysql Stored procedure with java String Array
因此,如果有可能使用存储过程比较数组值。 我的 select 查询是:
SELECT USER_ID, USER_NAME, REGISTRATION_ID, IMEI_CODE, MOBILE_NUMBER FROM USER WHERE MOBILE_NUMBER IN (String_array);
在此查询中 return if
`String_array = "one_string_values";
它 return 单行。[使用 java jdbc queryforObject]
如果string_array = "array_of_values"`
它return 什么都没有我得到异常Mysql 功能不支持异常
在我的场景中使用存储过程的任何可能性。
您基本上想将多个值传递给 MySQL 中的存储过程。在 SQL 服务器中,您可以将 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。