2009-12-25 4 views
-1

i créé une procédure avec 32 argument, il created.but sucessfully quand j'exécute ce dans oracle arrière le errror est venu ORA: 00900 instruction SQL non valideORA: 00900 instruction SQL non valide

+4

Veuillez publier la procédure SQL que vous avez créée. –

+3

L'erreur n'a probablement rien à voir avec la procédure 32-arguments, et tout à voir avec la syntaxe que vous avez utilisée dans votre SQL. Vous devez poster quelques détails si vous voulez de l'aide. –

Répondre

4

Utilisation:

SQL> alter procedure [your procedure name here] compile; 
SQL> show errors 

... d'être en mesure de diagnostiquer le problème à partir de la sortie d'erreur qui en résulte.

+0

L'ORA-900 indique que ce n'est probablement pas la procédure elle-même, mais le SQL qu'il utilise pour l'appeler; ou, peut-être, la procédure essaie d'exécuter du SQL dynamique. De toute façon montrer les erreurs ne devrait rien montrer, je pense. –

0

Regardez également la vue USER_ERRORS.

Parfois, afficher les erreurs ne montre rien alors qu'il y a des erreurs. Surtout après la compilation.

Enfin, re-compiler dans TOAD ou SQL Developer et vous pouvez facilement accéder à l'erreur.

0

Dans Oracle SQL Developer vous devez exécuter cette façon:

BEGIN 
    YOUR_PROCEDURE(PARAM1, PARAM2); 
END; 

Si vous utilisez ou EXECUTE EXEC (qui travaillent dans SqlPlus) vous obtenez l'erreur ORA-00900.