【转】Oracle将以特定分隔的字符串转成表格的方法(用于类似游标的遍历)
2023-09-27 14:20:55 时间
CREATE OR REPLACE TYPE TY_OBJECT AS OBJECT(COL_NAME VARCHAR2(200)); / CREATE OR REPLACE TYPE TY_TABLE AS TABLE OF TY_OBJECT; / CREATE OR REPLACE FUNCTION STR2TABLE(V_STR IN VARCHAR2,V_DELIMITER IN VARCHAR2) --此函数的目的是将以特定字符分隔的字符串转换为游标形式,以例遍历此游标 RETURN TY_TABLE AS V_TY_TABLE TY_TABLE; BEGIN SELECT TY_OBJECT(REGEXP_SUBSTR(V_STR,'[^' || V_DELIMITER || ']+',1,LEVEL,'i')) BULK COLLECT INTO V_TY_TABLE FROM DUAL CONNECT BY LEVEL <= LENGTH(V_STR) - LENGTH(REGEXP_REPLACE(V_STR,'' || V_DELIMITER || '','')) + 1; RETURN V_TY_TABLE; END; / --应用示例 SELECT * FROM TABLE(STR2TABLE('1,2,3',',')); /
转:https://www.jb51.cc/oracle/212857.html
相关文章
- Oracle11完全卸载方法 deinstall.bat如何用以及如何删除oracle注册表
- Oracle 安装报错 [INS-06101] IP address of localhost could not be determined 解决方法
- 用PXE方法从裸机批量推Oracle 11gR2 RAC环境
- 非常规方法,轻松应对Oracle数据库危急异常
- oracle错误备忘(ORA-00354,ORA-00353和ORA-00312的处理方法)
- Oracle数据库备份恢复的概念:错误类型、实例恢复方法等
- Oracle 执行报错表空间或临时表空间不足,降低水位线方法
- Oracle报错:ORA-06508: PL/SQL: 无法找到正在调用的程序单元
- ORACLE建表练习
- oracle 巡检脚本(自动化)
- oracle 存储过程重新编译方法
- Oracle之唯一性约束(UNIQUE Constraint)使用方法具体解释
- Oracle 分区表的新增、修改、删除、合并。普通表转分区表方法
- 【Oracle】安装
- 已发布:Oracle Database 23c 免费版 — 开发人员版!
- Oracle构造序列的方法分析对比
- 三十八载,Oracle伴我同行—记我的职业成长之路
- Oracle数据库迁移之物理迁移
- oracle建立用户与授权(转载)
- [Oracle工程师手记] Data Guard 环境中,查找最近发生的与 Data Guard 相关的错误的方法
- [Oracle 工程师手记] ORA-12162 错误 的应对方法
- Oracle出现与并行相关的ORA-00600时的调查方法
- 重启oracle方法一二三
- 在防火墙上开放Oracle服务端口的方法
- Oracle 11g对依赖的推断达到字段级
- Oracle用户被锁定解决方法
- Oracle DataGuard:单节点到RAC集群的主备环境搭建
- Oracle Error
- Oracle数据库的函数,存储过程,程序包,游标,触发器