Bonjour,
dans mon application, j'utilise 2 blocs, un qui va afficher les enregistrements pour une table, et l'autre qui permet l'insertion dans cette table.
J'ai donc B_VISU_TABLE, et B_TABLE.
- un trigger "général" WHEN-NEW-FORM-INSTANCE qui me permet d'afficher dans mon bloc "tabulaire" les enregistrements
- un trigger local qui permet d'insérer dans le bloc VISU les attributs saisie. (via un bouton)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 GO_BLOCK('B_VISU_PATIENTS'); EXECUTE_QUERY;
- et mon trigger final rattaché à un bouton pour commit les données saisies
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 GO_BLOCK('B_VISU_PATIENTS'); LAST_RECORD; CREATE_RECORD; :B_VISU_PATIENTS.NUMPAT := :B_PATIENTS.NUMPAT; :B_VISU_PATIENTS.PRENOM := :B_PATIENTS.PRENOM; :B_VISU_PATIENTS.NOM := :B_PATIENTS.NOM; :B_VISU_PATIENTS.TAUX := :B_PATIENTS.TAUX;
L'insertion dans le bloc de vue se déroule correctement. Mais lorsque je clique sur mon bouton de commit, j'ai un message d'erreur suivant.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 go_block('B_VISU_PATIENTS'); commit_form;
Puis, avec les détails(Aide/Affiche l'erreur), j'ai :FRM-40508: Erreur oracle: INSERTION (INSERT) d'enregistrement impossible.
Je vous rassure tout de suite, il n'est pas seulement question de clef primaire (je ne serais pas là sinon). En effet, la même ligne insérée via SQLplus ne produira pas d'erreur(insertion correct). D'où mon incapacité à trouver la source de cette erreurs.Erreur d'instruction SQL:
INSERT INTO PATIENTS(NUMPAT,PRENOM,NOM,TAUX) VALUES (:1,:2,:3,:4)
Erreur:
ORA-00001: violation de contrainte unique (LIC12.PK_PATIENTS)
Merci de votre aide.
Partager