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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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.