gpt4 book ai didi

c# - 如何在 Oracle PL/SQL 中传递逗号分隔的字符串并遍历它以执行查询?

转载 作者:太空宇宙 更新时间:2023-11-03 23:09:37 27 4
gpt4 key购买 nike

我有一个 Id(字符串)列表。我想删除这样的记录:

DELETE FROM MyTable WHERE ID=:Id

但是,我不想重复调用数据库;相反,我想将 Id 集合作为逗号分隔的字符串传递,并一次性在 Oracle 服务器上执行上述查询!

我们将不胜感激任何帮助。

提前致谢。

最佳答案

使用逗号分隔的列表,您可以使用这样的函数来拆分您的 ID:

  select regexp_substr(:id,'[^,]+',1,level) element
from mytable
connect by level <= length(regexp_replace(:id,'[^,]+')) + 1

所以最后的查询:

DELETE FROM MyTable WHERE ID in ( select regexp_substr(:id,'[^,]+',1,level) element
from mytable
connect by level <= length(regexp_replace(:id,'[^,]+')) + 1)

关于c# - 如何在 Oracle PL/SQL 中传递逗号分隔的字符串并遍历它以执行查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39830858/

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