Hello les gens;
Nous avons une table dont il a fallu restaurer l'état vers une situation antérieure, opération réalisée par les soins du dba, qui, pour la mener a bien, a dû enlever la contrainte de la clé de cette table IDENTITY gérée par le SGBDR
Aujourd'hui en essayant d'y intégrer des données je me prends un :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
DB2 Database Error: ERROR [23505] [IBM][DB2/AIX64] SQL0803N  One or more values in the INSERT statement, UPDATE statement, or foreign key update caused by a DELETE statement are not valid because the primary key, unique constraint or unique index identified by "1" constrains table "UN_SCHEMA.FBL_MA_TABLE_FACT" from having duplicate values for the index key.  SQLSTATE=23505
Je me doute que cela est en relation avec l'opération menée pour le restaure. Que doit on faire pour résoudre ce problème proprement ?
La requête
Code : Sélectionner tout - Visualiser dans une fenêtre à part
select min(com_seq), max(com_seq) from MA_TABLE;
renvoi 153692 4411754
voici le script de création de cette table:
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
35
36
37
38
39
40
41
42
43
44
45
46
47
CREATE TABLE "UN_SCHEMA"."MA_TABLE" (
  "COM_SEQ"	BIGINT	NOT NULL	GENERATED ALWAYS
    AS IDENTITY (START WITH 1, INCREMENT BY 1, NO CACHE,
       NO MINVALUE, NO MAXVALUE, NO CYCLE, NO ORDER),
  "FACT_NO"	VARCHAR(11),
  "DATE"	DATE,
  "BPID_RECIPIENT"	VARCHAR(35),
  "BPID_LIABLE"	VARCHAR(35),
  "FEECATEGORY"	VARCHAR(2),
  "FEETYPE"	VARCHAR(8),
  "TRANSACTIONREFERENCE"	VARCHAR(16),
  "TRANSACTIONTYPE"	VARCHAR(4),
  "TRADEDATE"	DATE,
  "SETTLEMENTDATE"	DATE,
  "ACNO"	BIGINT,
  "ACCOUNTTYPE"	VARCHAR(2),
  "ACCATEGORY"	VARCHAR(10),
  "ISIN"	VARCHAR(12),
  "ISIN_CREATIONDATE"	VARCHAR(35),
  "INSTRUMENTTYPE"	VARCHAR(5),
  "PRICE"	DECIMAL(15,2),
  "FEEBASIS"	DECIMAL(15,3),
  "AMOUNT"	DECIMAL(15,2),
  "CURRENCY"	VARCHAR(3),
  "BPID_AMC4MF"	VARCHAR(35),
  "DC"	CHARACTER(1),
  "CAPI"	DECIMAL(15,2)	DEFAULT 0
) 
  IN "UN_TABLE_SPACE";
 
ALTER TABLE "UN_SCHEMA"."MA_TABLE"
  DATA CAPTURE NONE
  LOCKSIZE ROW
  APPEND OFF
  NOT VOLATILE;
 
ALTER TABLE "UN_SCHEMA"."MA_TABLE"
  ADD CONSTRAINT "P_Cle_1" PRIMARY KEY
    ("COM_SEQ");
 
GRANT CONTROL ON TABLE "UN_SCHEMA"."MA_TABLE" TO USER "UN_USER";
 
GRANT SELECT, INSERT, UPDATE, ALTER, DELETE,
    INDEX, REFERENCES ON TABLE "UN_SCHEMA"."MA_TABLE" TO USER "UN_USER" WITH GRANT OPTION;
 
GRANT SELECT, INSERT, UPDATE, ALTER, DELETE,
    INDEX, REFERENCES ON TABLE "UN_SCHEMA"."MA_TABLE" TO USER "UN_USER" WITH GRANT OPTION;
Merci pour toutes vos contributions.