Oracle erreur : ORA-00905: mot-clé Manquant
Excuting la ligne de SQL:
SELECT *
INTO assignment_20081120
FROM assignment ;
contre une base de données oracle pour sauvegarder une table appelée fonction me donne l'erreur suivants ORACLE:
ORA-00905: mot-clé Manquant
Pour ceux qui éprouvent ce à partir d'une recherche sur Google comme je l'ai fait, mais pas la seule raison ci-dessus échoue, j'ai eu cette erreur quand j'ai déclaré une variable sans préciser son type.
OriginalL'auteur | 2008-11-20
Vous devez vous connecter pour publier un commentaire.
À moins qu'il y est une seule ligne dans le
ASSIGNMENT
table etASSIGNMENT_20081120
est un local PL/SQL variable de typeASSIGNMENT%ROWTYPE
, ce n'est pas ce que vous voulez.En supposant que vous essayez de créer une nouvelle table et de copier les données existantes dans cette nouvelle table
OriginalL'auteur Justin Cave
Tout d'abord, j'ai pensé:
Mais après de générer manuellement une table, il n'a toujours pas de travail, toujours à l'affiche le "mot-clé manquant erreur".
Donc j'ai renoncé à cette époque et résolu d'abord manuellement la création de la table, puis à l'aide de la "classique"
SELECT
déclaration:Qui a fonctionné comme prévu. Si quelqu'un venir avec un explanaition sur la façon d'utiliser le
SELECT...INTO
dans une bonne voie, je serais heureux!SELECT..INTO
est PL/SQL syntaxe, pas de SQL, il s'attend à un PL/SQL variable d'accepter le résultat de la requête.OriginalL'auteur Uwe Keim
Vous pouvez sélectionner à l'intérieur d'un PLSQL bloc comme ci-dessous.
Ce code ne fonctionnera que quand il y a exactement 1 ligne dans l'affectation. Habituellement, vous allez utiliser ce genre de code pour sélectionner une ligne spécifique identifié par un numéro de clé.
OriginalL'auteur Rene
Réponse tardive, mais je viens de tomber sur cette liste aujourd'hui!
CREATE TABLE assignment_20101120 SELECT * from affectation;
Fait de même.
OriginalL'auteur David
Si ce n'est pas directement liée à l'OP exacte de la question, mais je viens de constater que l'utilisation d'un Oracle mot réservé dans votre requête (dans mon cas, l'alias
IN
) peut provoquer la même erreur.Exemple:
Ou si son dans la requête elle-même comme un nom de champ
Qui permettrait également de jeter cette erreur. J'espère que cela aide quelqu'un.
OriginalL'auteur logixologist