2016-07-08 1 views
0

Il s'avère que c'est entièrement mon mauvais, la table n'existait pas (malgré l'exécution du code de création de la table).Oracle insiste sur le fait que la table ou la vue n'existe pas, quand c'est le cas

J'ai couru le code suivant, et l'erreur suivante:

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); 

L'erreur:

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

La "erreur à la ligne de commande: colonne" identifie la table Pathways comme problème. L'appel TRUNCATE TABLE fonctionne très bien. Et si je lance l'instruction select elle-même, elle fonctionne correctement, produisant la sortie que je veux.

+2

Peut-être 'Old_Pathways' n'existe pas. –

+0

Quel client utilisez-vous? Si vous l'exécutez dans SQL \ * Plus (qui n'est pas un IDE génial, mais c'est en quelque sorte l'étalon-or pour prouver que quelque chose fonctionne ou non), il imprime le numéro de ligne et imprime un "*" à côté de la colonne. –

+0

Le propriétaire de la table old_pathways est-il le même que l'utilisateur actuellement connecté exécutant le script pour créer des chemins? Auriez-vous besoin de «accorder select» sur old_pathways afin qu'il puisse être vu? –

Répondre

1

essayez d'exécuter cette requête et séparement voir si cela fonctionne:

SELECT pathwaySourceID, pathwayName FROM Old_Pathways Order By pathwaySourceID, pathwayName

Je soupçonne que la table/vue de Old_Pathways n'existe pas ou il est dans un schéma différent.