select EVENT_TYPE, dbms_lob.substr( REPLACE(PK_DATA,'"','')) pk
, max(DATA_ID) over
(PARTITION BY dbms_lob.substr( REPLACE(PK_DATA,'"',''), 100, 1 )) max_data_id
from(
select 'U' AS EVENT_TYPE,to_clob(x.ID) AS PK_DATA ,100000 AS DATA_ID
from SOME_TABLE where SOME_CONDITION
UNION ALL
.
.
.
SOME OTHER TABLES
);
我有这个查询,它会永远运行而且无法完成。
如果我删除dbms_lob.substr( REPLACE(PK_DATA,'"',''), 100, 1 )
和to_clob(x.ID)
并分别将其替换为PK_DATA
和x.ID
,那就没问题
我想知道为什么会这样做,因为如果我删除它并解决其他联合表(肯定具有相同的结构),它会返回。