gpt4 book ai didi

sql - 分层查询 : from dual is ok, 但来自物理表的是 "ORA-01436"

转载 作者:行者123 更新时间:2023-12-04 23:32:17 30 4
gpt4 key购买 nike

我以这种方式使用递归毫无问题地获得了范围:

    WITH T1 AS (
SELECT 1 ID, DATE '2010-08-10' STARTDATE, DATE '2010-08-12' UPTODATE FROM DUAL UNION ALL
SELECT 2 ID, DATE '2010-08-08' STARTDATE, DATE '2010-08-15' UPTODATE FROM DUAL
)
SELECT STARTDATE + LEVEL - 1 DT FROM T1
CONNECT BY LEVEL <= UPTODATE - STARTDATE
AND PRIOR ID = ID
AND PRIOR SYS_GUID() IS NOT NULL;

来自物理表

CREATE TABLE T2 (ID NUMBER(1), STARTDATE DATE, UPTODATE DATE);

INSERT INTO T2 VALUES (1, DATE '2010-08-10', DATE '2010-08-12');
INSERT INTO T2 VALUES (2, DATE '2010-08-08', DATE '2010-08-15');

SELECT STARTDATE + LEVEL - 1 DT FROM T2
CONNECT BY LEVEL <= UPTODATE - STARTDATE
AND PRIOR ID = ID
AND PRIOR SYS_GUID() IS NOT NULL;

出现循环错误 ORA-01436,但我看到这些数据和请求完全相同。

可能是什么问题,需要寻找什么?

Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - 64bit Production

最佳答案

这似乎是错误 6451127,它特定于您使用的 Oracle 版本。

错误报告中的示例在 prevent cycling but still generate all the rows in the rangeprior 子句中使用了不同的非确定性函数,但在其他方面对我来说是同一个问题。

您可以从 My Oracle Support 获取该错误的详细信息、可能的解决方法以及有关补丁的信息;从链接到错误和补丁的文档 ID 732871.1 开始。我无法在此处复制 MOS 的任何信息,因此很遗憾,这必须含糊不清。

如果您想确认是同一件事,您可能需要或想要提出服务请求。

关于sql - 分层查询 : from dual is ok, 但来自物理表的是 "ORA-01436",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24885172/

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