inserir uma pesquisa db2 de outra tabela

tenho um produto de tabela (id_product, nome );

tenho outra: productHistory (id_H, id_product, name);

quero criar uma consulta( db2) para inserir todas as linhas do produto na lista de produtos;

tenho uma sequência product_history_seq

Quero fazer algo assim.
insert into productHistory 
        (id_h ,  , id_product , name) 
  values ( product_history_seq.nextval,..

ou

select (id_product , name) from product
Qual é a pergunta correcta?

 5
db2
Author: WarrenT, 2013-08-02

4 answers

Acho que estás à procura de:
insert into  productHistory 
       ( id_h
       , id_product 
       , name
       ) 
  select next value for product_history_seq
       , id_product 
       , name 
    from product 
;
 3
Author: WarrenT, 2013-08-02 11:10:12

Faça o id_h incremento automático e tente isto

  insert into  productHistory ( id_product , name) values (select id_product , name from product );

O ID_ h irá aumentar automaticamente sem necessidade de o colocar na consulta

Espero que ajude.
 2
Author: Sonu Sindhu, 2013-08-02 07:29:54
INSERT INTO productHistory (id_h, id_product, name)
  (SELECT
    product_history_seq.nextval,
    id_product,
    name
  FROM product);

Isso funciona

 1
Author: senior, 2016-09-12 02:39:53

"Inserir na sua opção Seleccionar por omissão, val1, val2 da sua versão 2" e declarar o id como generizado por omissão

 0
Author: Peter Miehle, 2013-08-02 07:03:04