création de procedure en PL/SQL ?

création de procedure en PL/SQL ? - SQL/NoSQL - Programmation

Marsh Posté le 09-12-2003 à 22:13:23    

voila mon code, je ne comprends pas pourquoi ca ne marche pas :(
 

Code :
  1. CREATE OR REPLACE PROCEDURE Enroll ()
  2. IS
  3. BEGIN
  4. SELECT * FROM TheEnrolls;
  5. END Enroll;
  6. /


pourtant la requete marche quand je la teste séparément.
 
J'obtiens comme erreur :
 
Warning: Procedure created with compilation errors.
 
 :sweat:

Reply

Marsh Posté le 09-12-2003 à 22:13:23   

Reply

Marsh Posté le 10-12-2003 à 09:59:40    

essaye de faire un select nimporte quoi INTO variable en ayant déclaré ta variable
et puis sinon ca sert a rien ta procedure
c quoi l erreur exacte?

Reply

Marsh Posté le 10-12-2003 à 10:01:21    

jerem38 a écrit :

voila mon code, je ne comprends pas pourquoi ca ne marche pas :(
 

Code :
  1. CREATE OR REPLACE PROCEDURE Enroll ()
  2. IS
  3. BEGIN
  4. SELECT * FROM TheEnrolls;
  5. END Enroll;
  6. /


pourtant la requete marche quand je la teste séparément.
 
J'obtiens comme erreur :
 
Warning: Procedure created with compilation errors.
 
 :sweat:  


 
Plusieurs remarques ;)
 

Code :
  1. CREATE OR REPLACE PROCEDURE Enroll
  2. IS
  3. BEGIN
  4. null;
  5. END Enroll;
  6. /


 
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 :
  1. CREATE OR REPLACE FUNCTION Enroll RETURN VARCHAR2 IS
  2. IS
  3. BEGIN
  4. RETURN 'Ok';
  5. END Enroll;
  6. /


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.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed