[Résolu][IBConsole]SQL Error
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. :wink:
Ma table est la suivante:
Code:
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:
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:
1 2
| ALTER TABLE SALARIE
ALTER NUM_BAD TYPE DECIMAL(7,0); |
Mais il apparait le message d'erreur:
Citation:
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 :P