bonjour à tous,
J'ai créé ce control file pour charger des données dans cette table TPAI :
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
LOAD DATA
infile '/base0/inout/stat/exp/data.txt'
  BADFILE 'PH7.bad'
  DISCARDFILE 'PH7.dsc' 
  insert  
  INTO TABLE TPAI
  when (7:9) <> 'RUB' 
  FIELDS terminated by "|" 
  TRAILING NULLCOLS  
  (
    PAI_C_CODE_LIGNE position(7:9) "DECODE(:PAI_C_CODE_LIGNE,'ENT',1,'RUB',2)" ,
    PAI_C_DATE_PAIE date ,
    PAI_L_PAIE_PREC DATE,
    PAI_L_DATE_RETRO date,
    PAI_L_NB_PAIE_M_TPS position(44),
    PAI_L_NB_PAYE ,
    PAI_L_NB_AGENT_RAJOUTE ,
    PAI_L_TPS_CALCUL_TOTAL 
    
  )
SQL> desc tpai;
Nom NULL ? Type
----------------------------------------- -------- ----------------------------
PAI_C_DATE_PAIE NOT NULL DATE
PAI_L_PAIE_PREC DATE
PAI_L_DATE_RETRO DATE
PAI_L_NB_PAIE_M_TPS NUMBER(2)
PAI_L_NB_PAYE NUMBER(7)
PAI_L_NB_AGENT_RAJOUTE NUMBER(2)
PAI_L_TPS_CALCUL_TOTAL NUMBER(7)
PAI_C_CODE_LIGNE NOT NULL NUMBER(1)

J'ai une contrainte clé primaire et non null sur le champ PAI_C_DATE_PAIE
Quand je lance mon chargement j'ai l'erreur suivante que je comprends :
Enregistrement 1 : Rejeté - Erreur sur table TPAI, colonne PAI_C_DATE_PAIE.
ORA-01400: impossible d'insérer NULL dans (PAI_C_DATE_PAIE)
mais comment la contourner à part désactiver ou supprimer la contrainte ?
Merçi de votre aide