jerem38 a écrit :
voila mon code, je ne comprends pas pourquoi ca ne marche pas
Code :
- CREATE OR REPLACE PROCEDURE Enroll ()
- IS
- BEGIN
- SELECT * FROM TheEnrolls;
- END Enroll;
- /
|
pourtant la requete marche quand je la teste séparément.
J'obtiens comme erreur :
Warning: Procedure created with compilation errors.
|
Plusieurs remarques
Code :
- CREATE OR REPLACE PROCEDURE Enroll
- IS
- BEGIN
- null;
- END Enroll;
- /
|
Ca fonctionnera. (Pas de parenthèses si pas de paramètre)
Une procédure ne peut pas retourner un résultat. Faut passer par une fonction sinon :
Code :
- CREATE OR REPLACE FUNCTION Enroll RETURN VARCHAR2 IS
- IS
- BEGIN
- RETURN 'Ok';
- END Enroll;
- /
|
Ca fonctionnera aussi.
Par contre, on ne peut pas retourner le résultat d'une requête comme ça. Il faut plutôt retourner un curseur pour le résultat de ton select.