Newsletter
DBConcepts Logo Original

Workaround: Unpivot mit ORA-00942 oder ORA-00904

Ausgangslage

Kürzlich trat ein Problem mit einem UNPIVOT Operator in der Entwicklung einer Statistik-Abfrage auf

 
Select […]
from VIEW1 unpivot(val for year in ([…]);
 
 
ORA-00942: table of view does not exist
 

Die Abfrage wurde im gleichen Schema ausgeführt wo auch der View sein sollte. Folgendes Select funktionierte zum Beispiel problemlos:

 
select * from VIEW1;
 

Lösung

Eine Recherche ergab anfangs wenig Lösung. Die üblichen Lösungsvorschläge bezogen sich auf Problem mit Arbeiten in unterschiedlichen Schemas oder über Datenbank-Links. Da die Tabelle aber grundsätzlich als vorhanden erkannt wurde musste der Grund woanders liegen. Im Oracle Support habe ich die Lösung gefunden, im Dokument Doc ID 22339954.8.

Laut diesem Dokument handelt es sich hierbei um einen Bug in potentiell allen Datenbankversionen vor 12.2.0.1. Laut diesem Dokument gibt es keinen Workaround. Das Problem kann ich außerdem in langen Laufzeiten äußern selbst wenn keine Fehler auftreten. Die Probleme treten lt. Dokument auf wenn eine Abfrage eine UNPIVOT Operation auf Views mit mehrfachen verschachtelten Abfrageblöcken und/oder einer großen Anzahl von Tabellen macht.

Wir haben einen Workaround gefunden der in unserem Fall das Problem recht leicht und zufriedenstellend gelöst hat:

 
with base as (select /*+ materialize */ * from VIEW1)
Select […]
from base unpivot(val for year in ([…]);
 

DBConcepts

Weitere Beiträge

Webinar: Predictive Prevention

Webinar am 05.12 von 10-11 Uhr: Entdecken Sie die Deep Instinct Kommen Sie zu unserem exklusiven Webinar am 05.12 von 10-11 Uhr und lernen Sie

DBConcepts Adventpunsch

Am Donnerstag, den 14.12 findet heuer unser allseits beliebter Adventpunsch statt. Dieses Jahr treffen wir uns im Weihnachtsdorf im alten AKH (Universitätscampus).Wir haben einen eigens für

DBConcepts Infoveranstaltung: Was tun in Zeiten von NIS2?

Mit der neuen Cybersicherheits-Richtlinie mit der Bezeichnung „NIS 2“ gelten ab Oktober 2024 für viele Unternehmen bestimmter Sektoren verpflichtende Sicherheitsmaßnahmen und Meldepflichten bei Sicherheitsvorfällen. Diese

DBConcepts

Newsletter abonnieren

Wir freuen uns, dass wir Ihr Interesse für den Newsletter geweckt haben! Mit dem Versand dieser Zustimmung erhalten Sie regelmäßig alle aktuellen Informationen!

Vielen Dank für Ihr Interesse an unserem Unternehmen. Derzeit suchen wir niemanden für diese Stelle. Aber wir sind immer an talentierten Menschen interessiert und freuen uns von Ihnen zu hören! Schicken Sie uns einfach Ihren Lebenslauf und eine kurze Nachricht und schreiben Sie an welcher Stelle Sie interessiert sind: recruitment@dbconcepts.com. Wir freuen usn von Ihnen zu hören!