2008-10-30 7 views
0

Nous voyons le message d'erreur ORA-00936 Expression manquante pour l'instruction SQL suivante:Qu'est-ce qui pourrait causer une ORA-00936 - Expression manquante avec le sql suivant?

Notez que ceci est juste une dénudation version d'un beaucoup plus grand SQL afin de réécrire à une jointure interne ou similaire est pas vraiment dans le cadre de la présente:

Ceci est le SQL qui ne parvient:

select (select count(*) from gt_roster where ROS_ROSTERPLAN_ID = RPL_ID) 
from gt_rosterplan 
where RPL_ID = 432065061 

ce que j'ai essayé: * SQL plus à l'intérieur Extraction et son remplacement par l'ID de la partie extérieure SQL me donne le numéro 12. * Aliasing de la sous-requête et du nombre (*) ually et les deux en même temps ne change pas le résultat (ie. toujours une erreur)

De quoi d'autre ai-je besoin? Ce qui précède est uniquement des tables, pas de vues, RPL_ID est la clé primaire de gt_rosterplan, et ROS_ROSTERPLAN_ID est une clé étrangère à cette colonne, il n'y a pratiquement aucune information magique ou cachée ici.


Edit: En réponse à répondre, non, vous ne avez pas besoin des alias ici que les colonnes sont nommés de manière unique sur les tables.


Résolu: Le problème est que le client était en cours d'exécution de la mauvaise version du pilote client, 9.2.0.1, et il y a des problèmes connus avec cette version.

Répondre

1

Cela devrait fonctionner, en supposant que les noms de colonne ne sont pas ambigus (et même si cela devait conduire à une erreur différente). J'ai couru une déclaration équivalente et a obtenu un résultat sans erreur:

SQL> select (select count(*) from emp2 where empdeptno = deptno) 
    2 from dept 
    3 where deptno=10 
    4/

(SELECTCOUNT(*)FROMEMP2WHEREEMPDEPTNO=DEPTNO) 
--------------------------------------------- 
              3 

recherche sur Google, il semble qu'il y ait ou ont été des bugs Oracle conduisant à des erreurs ORA-00936 - voir this for example.

+0

Oui, c'était le cas. –

3

Le problème était que le client exécutait la mauvaise version du pilote client, 9.2.0.1, et que des problèmes étaient connus avec cette version.

Questions connexes