Bonjour,
J'ai une table temporaire qui stocke les données temporairament puis ils vont etre truncate :
CREATE TABLE KPI.HTTP_ODS
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
 
(
  HOST            VARCHAR2(500 BYTE),
  DATE_HTTP       DATE,
  NBYTEDN         NUMBER,
  NBSESSTCP       NUMBER,
  AVG_SYN_SYNACK  NUMBER,
  AVG_SYNACK_ACK  NUMBER,
  DELAYREQANS     NUMBER,
  NBGET           NUMBER,
  NBPOST          NUMBER,
  OTHERREQ        NUMBER,
  NB1XX           NUMBER,
  NB2XX           NUMBER,
  NB3XX           NUMBER,
  NB4XX           NUMBER,
  NB5XX           NUMBER,
  NBOTHERANS      NUMBER
)
puis ma table que je vais l'utliser:

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
 
CREATE TABLE KPI.HTTP_DWHS
(
  ID              INTEGER                       PRIMARY KEY,
  HOST            VARCHAR2(500 BYTE),
  DATE_HTTP       DATE,
  NBYTEDN         NUMBER,
  NBSESSTCP       NUMBER,
  AVG_SYN_SYNACK  NUMBER,
  AVG_SYNACK_ACK  NUMBER,
  RTT_HTTP        NUMBER,
  DELAYREQANS     NUMBER,
  NBGET           NUMBER,
  NBPOST          NUMBER,
  OTHERREQ        NUMBER,
  NB1XX           NUMBER,
  NB2XX           NUMBER,
  NB3XX           NUMBER,
  NB4XX           NUMBER,
  NB5XX           NUMBER,
  NBOTHERANS      NUMBER
)
pour insérer les données de la table temporaire vers la table objecitf j'ai crée une procédure stockée en utilisant un curseur
et du coup j'ai un erreur car la table ods ne contient pas la clé primaire je sais pas comment corriger cet erreur
j'ai crée une séquence , j'essaye avec un trigger mais ça marche pas j'essaye avec seq.nextval j'ai le mem erreur
ceci le code de ma procédure :

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
48
49
 
CREATE OR REPLACE procedure KPI.http_modif is 
 
CURSOR c_http is 
select 
   HOST                        
  ,DATE_HTTP                
  ,NBYTEDN                  
  ,NBSESSTCP                
  ,kpi.unite_s(AVG_SYN_SYNACK)    
  ,kpi.unite_s(AVG_SYNACK_ACK)    
  ,kpi.sum_s(AVG_SYN_SYNACK, AVG_SYNACK_ACK) 
  ,kpi.unite_s(DELAYREQANS)    
  ,NBGET          
  ,NBPOST          
  ,OTHERREQ        
  ,NB1XX           
  ,NB2XX           
  ,NB3XX           
  ,NB4XX           
  ,NB5XX           
  ,NBOTHERANS      
from kpi.http_ods;
 
TYPE array_http is table of c_http%rowtype;
http_data array_http;
 
begin
 
 open c_http;
 
     loop 
          fetch c_http
          bulk collect into http_data
          limit 1000;
 
          begin 
             forall i in 1..http_data.count
             insert into KPI.HTTP_DWHS(HOST,DATE_HTTP,NBYTEDN,NBSESSTCP,AVG_SYN_SYNACK,AVG_SYNACK_ACK,RTT_HTTP
                                       ,DELAYREQANS,NBGET,NBPOST,OTHERREQ,NB1XX,NB2XX,NB3XX,NB4XX,NB5XX,NBOTHERANS) 
             values http_data(i);
          end;
 
         exit when c_http%notfound;
     end loop;
 close c_http;
 
end;
/
que je dois mettre pour ne pas avoir cet erreur et de générer le clé primaire automatiquement,

merci d'avance pour votre aide