gpt4 book ai didi

java - 具有选择数组中位置的存储过程

转载 作者:行者123 更新时间:2023-11-29 23:02:28 25 4
gpt4 key购买 nike

我需要存储过程来执行我的选择查询。

我的问题是我有一个字符串数组,它包含多个手机号码来比较数据库表(如果可用)或不可用。如果可用返回行值。

我使用的是mysql 5.1。它不支持在选择查询中比较数组值。

我收到错误Mysql功能不支持异常。所以我将使用字符串生成器更改我的代码。我已经问过了。

我的问题:[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);

在此查询中返回 if

`String_array = "one_string_values";

它返回单行。[使用 java jdbc queryforObject]

如果 string_array = "array_of_values"`

它没有返回任何内容,我遇到了异常 Mysql 功能不支持异常

在我的场景中使用存储过程的任何可能性。

最佳答案

您基本上希望将多个值传递给 MySQL 中的存储过程。在 SQL Server 中,您可以将 XML block (作为字符串)向下传递到 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。

关于java - 具有选择数组中位置的存储过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28426481/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com