Salut !

Je voulais modifier la définition de certains attributs d'une table de ma Bdd sous IBConsole mais apparemment les contraintes d'intégrités gènent ma manoeuvre.
Ma table est la suivante:
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
CREATE TABLE "SALARIE" 
(
  "MAT_SAL"	NUMERIC(7, 0) NOT NULL,
  "CODE_ETAB"	CHAR(2) NOT NULL,
  "CODE_CY"	CHAR(10) NOT NULL,
  "CODE_GRILLE"	CHAR(10) NOT NULL,
  "PASS_SAL"	CHAR(10),
  "ID_SAL"	CHAR(20),
  "ETAT_SAL"	NUMERIC(1, 0),
  "ADM_SAL"	NUMERIC(1, 0),
  "NOM_SAL"	CHAR(25) NOT NULL,
  "PREN_SAL"	CHAR(25) NOT NULL,
  "NUM_BAD"	INTEGER NOT NULL,
CONSTRAINT "PK_SALARIE" PRIMARY KEY ("MAT_SAL"),
CONSTRAINT "UNI_NOM_PRENOM_BADGE" UNIQUE ("NOM_SAL", "PREN_SAL", "NUM_BAD")
);
Les contraintes sont:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
ALTER TABLE "SALARIE" ADD CONSTRAINT "FK_SALARIE_APPARTENI_CYCLE_HO" FOREIGN KEY ("CODE_CY") REFERENCES CYCLE_HORAIRE ("CODE_CY");
ALTER TABLE "SALARIE" ADD CONSTRAINT "FK_SALARIE_APPARTENI_ETABLISS" FOREIGN KEY ("CODE_ETAB") REFERENCES ETABLISSEMENT ("CODE_ETAB");
ALTER TABLE "SALARIE" ADD CONSTRAINT "FK_SALARIE_ATTRIBUER_GRILLE" FOREIGN KEY ("CODE_GRILLE") REFERENCES GRILLE ("CODE_GRILLE");
Mon script de modification est :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
ALTER TABLE SALARIE
    ALTER NUM_BAD TYPE DECIMAL(7,0);
Mais il apparait le message d'erreur:
Unsuccessful metadata update
MODIFY RDB$RELATION_FIELDS failed
action cancelled by trigger (1) to preserve data integrity
Cannot update index segment used by an Integrity Constraint
Statement: ALTER TABLE SALARIE
ALTER NUM_BAD TYPE DECIMAL(7,0)
Comment contourner ce prob, sachant que je comptais aussi modifier ma clés primaire en Décimal? Qu'est ce qui empêche cette modif?

Merci
Seb