Comment puis-je résoudre ce problème “Instruction SQL ignoré” erreur?

J'ai suivantes petite fonction qui ne compile pas:

function f_query_01  Return interval Day to second is 
  start_time timestamp(3);
  end_time timestamp(3);
  time_diff interval Day to second;  
  c_query_number number;

begin

  start_time := systimestamp; 
  select count(*) into c_query_number from wg;  <--This is the line that errors out
  end_time := systimestamp;
  time_diff := start_time - end_time;

  return time_diff;

end f_query_01;

Le compilateur me donne l'erreur suivante:

Error(29,3): PL/SQL: SQL Statement ignored
Error(29,44): PL/SQL: ORA-04044: procedure, function, package, or type is not allowed here

Ce qui est à l'origine de cette erreur et comment puis-je résoudre ce problème?

Ne select count(*) into c_query_number from wg; travailler à l'extérieur de la fonction, lorsque vous exécutez dans la même base de données et le schéma de la fonction?
Intéressant. Il a essayé ce code, en remplaçant groupe de travail pour une autre petite table. Compilé et exécuté avec succès. Êtes-vous sûr que c'est exactement le code qui avait un problème?
Le problème est que le tableau wg n'existe pas. Une fois que j'ai renommé la table pour le nom correct, tout était bien. J'ai vraiment l'impression que le message d'erreur est assez trompeur dans ce cas, ce qui se passe, mais c'est toujours frustrant.
La "Déclaration ignoré" message signifie que le compilateur essaie de compiler le reste, comme si l'attestation n'était pas là, plusieurs erreurs peuvent se produire par exemple lorsqu'il a été le début d'une boucle sur cette ligne.
[2015-07-12 16:38:48] [65000][6550] ORA-06550: ligne 2, colonne 3: PLS-00905: objet MARTIN.WS11_A5_LOOPER est pas valide ORA-06550: ligne 2, colonne 3: PL/SQL: Déclaration ignoré <- je n'ai aucune chance de trouver le problème, ça craint...

OriginalL'auteur twamn | 2010-06-24