Rechercher : dans
Par :

[PL/SQL] Gestion d'erreur

Dernière réponse le 8 jun 2004 à 17:52:20 yeah, le 27 mai 2004 à 09:39:40 
 Signaler ce message aux modérateurs

Bonjour,

Quand j'execute ma code PL/SQL, j'ai une erreur de ce type :

DECLARE
*
ERROR at line 1:
ORA-06552: PL/SQL: Compilation unit analysis terminated
ORA-06553: PLS-320: the declaration of the type of this expression is
incomplete or malformed

et impossible de voire ou est l'erreur.

Mon code est le suivant:


DECLARE

mat CHAR(10);
CURSOR c_FIC2 IS SELECT matricule from FIC2;

BEGIN
OPEN c_FIC2;
LOOP
FETCH c_FIC2 INTO mat;
EXIT WHEN c_FIC2%NOTFOUND;
INSERT INTO RETRIB (matricule) VALUES (mat);

END LOOP;
CLOSE c_FIC2;
END;
/

Donc tout simple, mais la ca fait un petit moment que je suis bloqué.

Merci beaucoup

Meilleures réponses pour « [PL/SQL] Gestion d'erreur » dans :
PL/SQL - Introduction au langage PL/SQL VoirIntroduction au langage PL/SQL Le langage PL/SQL est un langage L4G (entendez par ce terme un langage de quatrième génération), fournissant une interface procédurale au SGBD Oracle. Le langage PL/SQL intègre parfaitement le langage SQL en lui...

1

philou18, le 8 jun 2004 à 16:35:12

Tu es sur que mat correspond au type de matricule de ta table fic2 ?

Essai le déclaration suivante pour mat

mat fic2.matricule%type;

De cette manière, mat correspondra au type utilisé pour matricule en tous les cas.

Répondre à philou18

2

 yeah, le 8 jun 2004 à 17:52:20

Dsl j'ai oublié de preciser que j'avais trouvé l'erreur, mais non facilement.

En fait dans la déclaration d'une de mes tables j'avais une variable dont le nom était "DATE", or c'est un mot réservé que Oracle accepte, mais pas le compilateur PL

Répondre à yeah
Collection CommentÇaMarche.net