Выполнение (28: 6): ORA-00600: внутренний код ошибки, аргументы: [], [], [], [], [] - PullRequest
0 голосов
/ 29 сентября 2018
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: check ret val], [], [], [], [], [], [], [], [], [], [], []

1 Ответ

0 голосов
/ 29 сентября 2018

ORA-00600 - это номер ошибки Oracle для необработанных исключений, то есть ошибок.Природа ошибок ORA-00600 заключается в том, что они, как правило, являются крайними случаями, вызванными определенными конструкциями кода, работающими с конкретными версиями базы данных на определенных платформах ОС.Следовательно, они обычно требуют исправлений для их исправления.Тем не менее, поскольку вы, похоже, используете устаревшую версию Oracle (10g, но также и 11g ??), я думаю, что вряд ли вы работаете в организации с контрактом на поддержку и / или заинтересованы в поддержании баз данных в исправленном состоянии.

В этом случае это может не иметь значения. Google предлагает эту внутреннюю ошибку иногда вызывается инструкциями CREATE TABLE AS SELECT.У вас есть тупой оператор CTAS с кучей аналитических функций.Таким образом, вы можете решить эту проблему просто с помощью отдельного оператора CREATE TABLE и заполнения таблицы отдельным оператором INSERT.

...