create table agl_spell_gr7 as
select * from(
WITH cte1 AS (
SELECT t.*, ROW_NUMBER() OVER (PARTITION BY Meter_id ORDER BY Realtimeclock) rn
FROM loadsurvey t
),
cte2 AS (
SELECT t.*, ROW_NUMBER() OVER (PARTITION BY Meter_id ORDER BY Realtimeclock) rn
FROM loadsurvey t
WHERE I_R <> 0 and I_Y <> 0 and I_B <> 0
),
cte3 AS (
SELECT t1.*,
t1.rn - t2.rn AS diff
FROM cte1 t1
INNER JOIN cte2 t2
ON t1.Meter_id = t2.Meter_id AND t1.Realtimeclock = t2.Realtimeclock
)
SELECT
Meter_id,
MIN(Realtimeclock) AS start_time,
MAX(Realtimeclock) AS end_time,
COUNT(I_Y) AS I_Y,
COUNT(I_B) AS I_B,
COUNT(I_R) AS I_R, ROW_NUMBER() OVER (PARTITION BY Meter_id ORDER BY Meter_id ) AS Spell,
sum(KWH) as KWH,
sum(KWPH) as KWPH
FROM cte3
GROUP BY
Meter_id,
diff);
大家好
从上面的代码创建表格时出现以下错误。
请指导我如何进行表创建。 [错误]执行(28:6):ORA-00600:内部错误代码,参数:[rwoirw:检查ret val],[],[],[],[],[],[],[],[ ], [], [], []
最佳答案
ORA-00600 是 Oracle 未处理异常(即错误)的错误编号。 ORA-00600 错误的本质是它们通常是边缘情况,由针对特定操作系统平台上的特定数据库版本运行的某些代码构造引发。因此,他们通常需要补丁来修复它们。但是,由于您似乎使用的是过时版本的 Oracle(10g 还是 11g??),我猜您不太可能为拥有支持契约(Contract)和/或有兴趣将数据库保持在修补状态的组织工作。
在这种情况下,这可能无关紧要。 Google suggests this internal error有时会被 CREATE TABLE AS SELECT 语句抛出。你有一个 CTAS 语句,带有一堆分析函数。因此,您可以简单地通过使用独立的 CREATE TABLE 语句并使用单独的 INSERT 语句填充表来解决此问题。
关于sql - 执行 (28 : 6): ORA-00600: internal error code, 参数 : [], [], [], [], [],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52565289/