2016-07-08 7 views
0

Stellt sich heraus, das ist völlig meine schlechte, die Tabelle nicht existierte (trotz der Ausführung der Tabelle Erstellung Code).Oracle besteht darauf, dass Tabelle oder Sicht nicht existiert, wenn es tut

ich den folgenden Code ausgeführt haben, und die folgende Fehlermeldung erhalten:

CREATE TABLE Pathways (
    row_ID NUMBER(38,0) NOT NULL, 
    pathway_Source_ID VARCHAR2(50 CHAR) NOT NULL, 
    pathway_Name VARCHAR2(200 CHAR) NOT NULL); 

CREATE UNIQUE INDEX mv_Pathway ON Pathways (pathway_Source_ID, pathway_Name); 
CREATE INDEX mv_Look ON Pathways (row_ID, pathway_Source_ID, pathway_Name); 

TRUNCATE TABLE Pathways; 
INSERT INTO Pathways 
    SELECT rownum, pathwaySourceID, pathwayName FROM (
    SELECT pathwaySourceID, pathwayName FROM Old_Pathways Order By pathwaySourceID, pathwayName); 

Der Fehler:

Error report - 
SQL Error: ORA-00942: table or view does not exist 
00942. 00000 - "table or view does not exist" 

Der "Fehler bei der Befehlszeile: Spalte" kennzeichnet die Pathways-Tabelle als die Problem. Der Aufruf von TRUNCATE TABLE funktioniert einwandfrei. Und wenn ich die select-Anweisung selbst ausführe, läuft sie korrekt und erzeugt die gewünschte Ausgabe.

+2

Vielleicht gibt es 'Old_Pathways' nicht. –

+0

Welchen Client benutzen Sie? Wenn Sie es in SQL \ * Plus ausführen (was keine großartige IDE ist, aber es ist eine Art Goldstandard, um zu beweisen, dass etwas funktioniert oder nicht), wird die Zeilennummer gedruckt und ein "*" daneben gedruckt die Kolumne. –

+0

Ist der Tabellenbesitzer für old_pathways derselbe wie der aktuell angemeldete Benutzer, der das Skript ausführt, um Pfade zu erstellen? Müssten Sie 'grat select' auf old_pathways setzen, damit es gesehen werden kann? –

Antwort

1

versuchen, diese Abfrage separat laufen und sehen, ob es funktioniert:

SELECT pathwaySourceID, pathwayName FROM Old_Pathways Order By pathwaySourceID, pathwayName

Ich vermute, das Old_Pathways Tabelle/View existiert nicht oder es ist in einem anderen Schema.

Verwandte Themen