Erreurs dans une procédure
Salut,
J'ai un problème avec une procédure que je n'arrive pas à débuger. Pouvez vous me donner un coup de main s'il vous plaît.
J'ai 2 tables media et son. Son hérite de média.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| CREATE TABLE media
(
numMedia integer NOT NULL,
titre varchar2(50) NOT NULL,
auteur varchar2(50),
extension char(4) NOT NULL,
chemin varchar2(100) NOT NULL,
constraint PK_MEDIA_NUMMEDIA primary key (numMedia),
constraint CK_MEDIA_EXTENSION check (extension like ('.%'))
);
CREATE TABLE sons
(
numMedia integer NOT NULL,
duree timestamp NOT NULL,
constraint PK_SONS_NUMMEDIA primary key (numMedia),
constraint FK_SONS_NUMMEDIA foreign key (numMedia) REFERENCES mediamobile.media (numMedia) ON DELETE CASCADE
); |
Le but de la procédure est de permettre l'insertion "quasi-simultanée" d'un media dans la table mère et fille avec le même numéro de média.
voici la procédure:
Code:
1 2 3 4 5 6 7 8 9
| CREATE or replace PROCEDURE mediamobile.nvo_son (mtitre varchar2, mauteur varchar2, mextension char, mchemin varchar2, mduree timestamp)
IS
mnum integer;
BEGIN
SELECT SEQ_media.NEXTVAL INTO mnum FROM DUAL;
execute immediate 'insert into media values (seq_media.nextval ,'||mtitre||','||mauteur||','||mextension||','||mchemin||')';
insert into sons values (mnum, mduree);
END;
/ |
avec les messages d'erreur à son exécution:
Code:
1 2 3 4 5 6 7
|
- Erreurs constatées :
ERREUR à la ligne 1:
ORA-00917 : virgule absente
ORA-06512 : à "MEDIAMOBILE.NVO_SON", ligne 6
ORA-06512 : à ligne 1 |
Merci.