PL/SQL 是否有与 Java 等效的 StringTokenizer?
我使用 java.util.StringTokenizer 来简单解析 java 中的分隔字符串。我需要 pl/sql 中相同类型的机制。我可以写它,但如果它已经存在,我更愿意使用它。有人知道 pl/sql 实现吗?一些有用的替代方案?
I use java.util.StringTokenizer for simple parsing of delimited strings in java. I have a need for the same type of mechanism in pl/sql. I could write it, but if it already exists, I would prefer to use that. Anyone know of a pl/sql implementation? Some useful alternative?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
PL/SQL 确实包含一个用于逗号分隔列表的基本列表 (
DBMS_UTILITY.COMMA_TO_TABLE
)。示例:
或者查看此“询问 Tom”链接以获取其他想法...
Ak Tom - “IN 列表中的不同元素”
PL/SQL does include a basic one for comma separated lists (
DBMS_UTILITY.COMMA_TO_TABLE
).Example:
Or see this Ask Tom link for other ideas...
Ak Tom - "varying elements in IN list"
如果您安装了 APEX,则函数
APEX_UTIL.string_to_table
就是这样做的。if you have APEX installed, the function
APEX_UTIL.string_to_table
does just that.PL/SQL 没有内置的分词器。然而,用 SQL 或 PL/SQL 构建相对简单。 Adrian Billington 的网站提供了多种解决方案。此外,如果您使用的是 10g,则可以使用 此代码来自 Tanel Poder,它使用正则表达式在 SQL 中执行此操作。
诚然,如果 Oracle 将 dang 工具作为其内置工具之一包含在内,事情会更容易。
PL/SQL does not come with a built-in tokenizer. However, it is relatively simple to build out of SQL or PL/SQL. Adrian Billington's web site has several solutions. In addition, if you are on 10g, you could use this code from Tanel Poder, which does it in SQL using regex.
Admittedly it would be easier if Oracle just included the dang facility as one of their built-ins.
另一种方法是编写一个Java存储过程(数据库内部有一个JVM),这意味着您可以使用java.util.StringTokenizer。您必须将 Java 存储过程包装在 PL/SQL 过程/函数中。
请参阅此处的示例: http://forums.oracle.com /forums/thread.jspa?messageID=2575374�
遗憾的是,我不了解 Java 的检查异常,因此异常处理并不是很好(我不是 Java 开发人员)。
An alternative is to write a Java stored proc (there is a JVM inside the database), that means you can use java.util.StringTokenizer. You have to wrap a Java stored proc inside a PL/SQL procedure/function.
Se here for an example: http://forums.oracle.com/forums/thread.jspa?messageID=2575374�
Sadly I doný understand Java's checked exceptions so the exception handling isn't really great (I'm not a Java dev).