Bonjour,

J'ai un petit probleme lié à une contrainte sur un champs. Etant pas un expert en sgbd, j'espere que vous pourriez m'aider

Mon probleme est le suivant :

Dans une base de données que je doit exploiter, un champs d'une table (table 1) est lié à un autre champs d'une autre table (table 2) par une contrainte. Je doit mettre à jour le champs de la table 1 mais celui-ci ne veut pas se mettre à jour à cause de cette contrainte.

Voici pour information le script des tables ainsi que la contrainte :
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
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
 
create table ICS_APPLI_OR_ACTEUR  (
   APP_NOM              VARCHAR2(50)                    not null,
   APP_APAC_CODE        CHAR(1)                         not null,
   APP_MEGA_ID          VARCHAR2(20)                    not null,
   APP_DESCRIPTION      VARCHAR2(255),
   APP_TYPE             CHAR(1),
   constraint PK_ICS_APPLI_OR_ACTEUR primary key (APP_NOM, APP_APAC_CODE)
);
 
create table ICS_FLUX  (
   TFX_TYPE             CHAR(2)                         not null,
   FLX_NUM              CHAR(3)                         not null,
   EME_APP_NOM          VARCHAR2(50)                    not null,
   EME_APP_APAC_CODE    CHAR(1)                         not null,
   DEST_APP_NOM         VARCHAR2(50)                    not null,
   DEST_APP_APAC_CODE   CHAR(1)                         not null,
   ETF_ETA              VARCHAR2(1),
   FLX_NOM              VARCHAR2(40)                    not null,
   FLX_MEGA_ID          VARCHAR2(20)                    not null,
   FLX_DESCRIPTION      VARCHAR2(255),
   FLX_DT_MAJ           DATE,
   FLX_PRODUCTION       CHAR(1),
   FLX_SUPPRESSION		INTEGER,
   constraint PK_ICS_FLUX primary key (TFX_TYPE, FLX_NUM)
);
 
alter table ICS_FLUX
   add constraint FK_ICS_FLUX_DESTINATA_ICS_APPL foreign key (DEST_APP_NOM, DEST_APP_APAC_CODE)
      references ICS_APPLI_OR_ACTEUR (APP_NOM, APP_APAC_CODE);
 
alter table ICS_FLUX
   add constraint FK_ICS_FLUX_EMETTEUR_ICS_APPL foreign key (EME_APP_NOM, EME_APP_APAC_CODE)
      references ICS_APPLI_OR_ACTEUR (APP_NOM, APP_APAC_CODE);
Les 2 contraintes FK_ICS_FLUX_DESTINATA_ICS_APPL et FK_ICS_FLUX_EMETTEUR_ICS_APPL ont quasiment la meme fonctionnalité.

Comment je pourrais mettre à jour le champs ICS_APPLI_OR_ACTEUR.APP_NOM sans avoir de probleme avec les contraintes ? Dois-je utiliser les cascades ? (je ne sais pas si cela existe sous oracle)

Cela fonctionnerait si je mets un "on update cascade" sur les contraintes ?

Merci pour vos réponses