【发布时间】:2019-05-22 02:37:27
【问题描述】:
您好,我有一个不是我编写的 Oracle 查询,我也无权在 Oracle 环境中运行。
有人可以解释一下这个查询在做什么吗?
WITH tableName AS
( SELECT regexp_substr(fieldName,'[^,]+',1,level) as tableName
FROM (SELECT :tableName as fieldName From DUAL)
CONNECT BY LEVEL <= REGEXP_COUNT(fieldName ,'[,]')+1 )
我知道它正在创建一个名为 tableName 的 CTE,并且 Oracle 允许在不需要来自任何表的数据的查询中将 DUAL 指定为表。这样上述查询不会从任何特定表中提取。
但是我不明白查询的其余部分,因为我对 Oracle 很陌生。
任何帮助将不胜感激我尝试谷歌搜索但出现空白。
【问题讨论】:
标签: oracle connect-by regexp-substr