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.
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.
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 );
voici la procédure:
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
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; /
Merci.
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
Partager