Inserer les données d'une table dans une autr

wallie -  
 wallie -
Bonjour,

J'ai une table R6 avec les données suivante :

EJ NUMBER(3,0)
EG NUMBER(2,0)
NOPR NUMBER(6,0)
CDUCDLPP VARCHAR2(20 BYTE)
DTDBUCLP NUMBER(8,0)
DTFNUCLP NUMBER(8,0)
DTHRMAJ VARCHAR2(16 BYTE)

et une autre table r6_vb

ID_6PRO NUMBER(8,0) -> clé primaire
EJ NUMBER(3,0)
EG NUMBER(2,0)
NOPR NUMBER(6,0)
CDUCDLPP VARCHAR2(20 BYTE)
DTDBUCLP NUMBER(8,0)
DTFNUCLP NUMBER(8,0)
DTHRMAJ VARCHAR2(16 BYTE)

En fait je veux inserer les données de R6 vers r6_vb

J'ai d'abord essayer la requete :

insert into r6_vb
select * FROM r6 g6
WHERE g6.nopr=150;


Il me met que le nombre de valeurs est insuffisants....

Apres j'ai essayé ça :

INSERT INTO r6_vb (ID_6PRO, EJ, EG, NOPR, CDUCDLPP, DTDBUCLP,
DTFNUCLP, DTHRMAJ)
SELECT (SELECT MAX(ID_6PRO)+1 FROM r6_vb),
       EJ, EG, NOPR, CDUCDLPP, DTDBUCLP, DTFNUCLP, DTHRMAJ
       FROM R6;

La il me dit : violation de contrainte unique (CLE.ID_6PRO)

Avez vous des idées pour réaliser cela...

Merci d'avance!!
A voir également:

1 réponse

wallie
 
Voic la nouvelle requete que j'ai créé

INSERT INTO r6pro_vb (EJ, EG, NOPR, CDUCDLPP, DTDBUCLP, DTFNUCLP, DTHRMAJ)
values(
(select g6.EJ
FROM r6pca g6
WHERE g6.nopr=128),
(select g6.EG
FROM r6pca g6
WHERE g6.nopr=128),
(select p0.nopr
FROM r6pca g6, rgpca g1, r0pro p0
WHERE g6.nopr=g1.nopr
and g1.cdprfr=p0.cdprfr
AND g1.nosr=p0.nosr
and g6.nopr=128),
(select g6.cducdlpp
FROM r6pca g6
WHERE g6.nopr=128),
(select g6.dtdbuclp
FROM r6pca g6
WHERE g6.nopr=128),
(select g6.dtfnuclp
FROM r6pca g6
WHERE g6.nopr=128),
(select g6.DTHRMAJ
FROM r6pca g6
WHERE g6.nopr=128));

mais il me met une autre erreur : impossible d'inserer NULL dans ("CLE"."R6PRO_VB"."ID_6PRO")
0