gpt4 book ai didi

java - 将逗号分隔的字符串传递给存储过程中的 IN 子句

转载 作者:行者123 更新时间:2023-11-30 08:51:36 27 4
gpt4 key购买 nike

我有逗号分隔的字符串,我正在将这个逗号分隔的字符串传递给 oracle 存储过程。现在如何处理游标中的这个字符串到 IN 子句。

String codes = "ABCD','EEFF','GGHH";

游标查询就像

    CURSOR cur_bill_cod
IS
SELECT a.*
FROM bill_codes a
WHERE a.code in (p_codes) ;

我在过程中将 p_codes 声明为 varchar。

但它没有获取记录。我尝试以另一种方式传递字符串

String codes = "ABCD,EEFF,GGHH";

但是在这两种方式上它都失败了并且没有抛出任何异常。 你能帮我解决这个问题吗?

最佳答案

尝试使用:

CURSOR cur_bill_cod
IS
SELECT a.*
FROM bill_codes a
WHERE a.code in (
SELECT CAST (TRIM (REGEXP_SUBSTR (p_codes,
'[^,]+',
1,
LEVEL)) AS VARCHAR2 (30))
codes
FROM DUAL
CONNECT BY LEVEL <= REGEXP_COUNT (p_codes, ',') + 1)

关于java - 将逗号分隔的字符串传递给存储过程中的 IN 子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30482778/

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