[Oracle PL/SQL] Error PLS-00103 dans une procédure stockée

Error PLS-00103 dans une procédure stockée [Oracle PL/SQL] - SQL/NoSQL - Programmation

Marsh Posté le 18-03-2007 à 20:45:27    

Bonjour dans le cadre d'un TP sous Oracle.
Je butte sur un problème depuis un bout de temps et l'erreur suivante :
ERROR at line 17: PLS-00103: Encountered the symbol ";"  
 
Je ne vois pas à quoi c'est due, il me semble pourtant que la syntaxe de ma requête est bonne. Cela ne doit pâs être trop compliqué pourtant, mais je galère. Et votre aide me serait très utile pour continuer mon TP
Merci
 
 
Voici ma procédure
 

Code :
  1. create or replace Procedure RetourExemplaires (liste IN listeExemplaires)
  2.     IS
  3.   listeExemplairesRendus listeExemplaires;
  4. NumExemplaire NUMBER;
  5.  i NUMBER;
  6.     BEGIN
  7.  
  8.     i:=0;
  9.     listeExemplairesRendus := liste;
  10.            for i in listeExemplairesRendus.first..listeExemplairesRendus.last loop
  11.             NumExemplaireCourant:= listeExemplairesRendus(i) ;
  12.              UPDATE EXEMPLAIRE SET EtatEmprunte=0 where NumeroInventaire=NumExemplaireCourant;
  13.          end loop; 
  14.          commit;
  15. END RetourExemplaires;


 
Et la structure de la table et du type nécessaire au bon fonctionnement de ma procédure
 

Code :
  1. Create table Exemplaire
  2. (
  3. NumeroInventaire int PRIMARY KEY,
  4. ISBN varchar(15),
  5. EtatEmprunte int default(0),
  6. constraint FKExemplaire foreign key (ISBN) references Livre(ISBN) initially deferred,
  7. constraint CBoolean CHECK  (EtatEmprunte between 0 AND 1)
  8. );


 

Code :
  1. CREATE or replace  type listeExemplaires as
  2. VARRAY(10) OF Number(10);

Reply

Marsh Posté le 18-03-2007 à 20:45:27   

Reply

Marsh Posté le 02-04-2007 à 10:30:04    

pourquoi tu mets des ";" partout ?
 
c'est ce que semble dire "ERROR at line 17: PLS-00103: Encountered the symbol ";" "

Reply

Marsh Posté le 02-04-2007 à 11:58:23    

vire le commit, il sert à rien (t'as pas ouvert de transaction avant).
 
pour le reste, je laisse parler Orafrance, moi j'y pane que dalle en PS Oracle :D

Reply

Marsh Posté le 10-04-2007 à 13:01:40    

c'est peut-être du ADA-SQL [:magicbuzz]

Reply

Marsh Posté le 11-04-2007 à 10:05:35    

ERROR at line 17 et on ne voit que 16 lignes...  :whistle:  
 
ce serait bien d'avoir la totalité du code non ?
 
Sinon, là j'ai pas trop d'idée :/
 
Par contre la table est bien moche... on utilise VARCHAR2 et pas VARCHAR... quand à la procédure... ça me parait bien compliqué pour faire un :

Code :
  1. UPDATE EXEMPLAIRE SET EtatEmprunte=0 where NumeroInventaire IN (<la liste de nombres> )


 
désolé j'ai pas mieux pour le moment  :D  
 
MagicBuzz -> le PL stro bieng  :whistle:


Message édité par orafrance le 11-04-2007 à 10:05:44
Reply

Marsh Posté le 11-04-2007 à 10:06:24    

sinon, le commit et les ; sont bien a priori :D

Reply

Sujets relatifs:

Leave a Replay

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