Précédent   Forum des professionnels en informatique > Bases de données > DB2
DB2 Forum d'entraide technique sur la base de données DB2. Voir aussi -> Rubrique DB2
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 03/10/2011, 17h47   #1
Membre éclairé
 
Inscription : juin 2005
Messages : 1 056
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 1 056
Points : 329
Points : 329
Envoyer un message via AIM à jadey Envoyer un message via MSN à jadey Envoyer un message via Yahoo à jadey
Par défaut Clé identity après restaure

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 :
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 :
SELECT min(com_seq), max(com_seq) FROM MA_TABLE;
renvoi 153692 4411754
voici le script de création de cette table:
Code :
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.
jadey est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/10/2011, 09h31   #2
Expert Confirmé
 
Homme
Inscription : mai 2002
Messages : 1 641
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 29
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : mai 2002
Messages : 1 641
Points : 2 634
Points : 2 634
Bonjour,

As-tu essayé un truc du genre :

Code sql :
1
2
3
 
ALTER TABLE ma_table
ALTER COLUMN ma_col restart WITH XXXX

Où XXXX est un chiffre.
punkoff est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/10/2011, 10h06   #3
Membre éclairé
 
Inscription : juin 2005
Messages : 1 056
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 1 056
Points : 329
Points : 329
Envoyer un message via AIM à jadey Envoyer un message via MSN à jadey Envoyer un message via Yahoo à jadey
Oui c'est exactement ce que j'ai fait et ça a marché.
j'ai fait un restart avec la valeur max+1 de la clé. Merci.
jadey est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h23.


 
 
 
 
Partenaires

Hébergement Web