2013-08-02 99 views
4

我有一个表产品(id_product,name);从另一个表插入db2查询

我还有一个:productHistory(id_H,id_product,name);

我想创建一个查询(db2)插入产品的所有行在productHistory;

我有一个序列product_history_seq

我想要做这样的事情:

insert into productHistory 
     (id_h , , id_product , name) 
    values (product_history_seq.nextval,.. 

或者,

select (id_product , name) from product 

什么是正确的查询?

+0

发表您不能正常工作,相关的代码。 –

+0

只是我想插入productHistory产品的所有行考虑到id_h:插入它我必须使用product_history_seq.nextval – junior

+0

是的,我明白了。但你不希望人们认为你甚至没有尝试解决这个问题,你呢? –

回答

2

我相信你正在寻找:

insert into productHistory 
     (id_h 
     , id_product 
     , name 
     ) 
    select next value for product_history_seq 
     , id_product 
     , name 
    from product 
; 
+1

是的,它就像我的解决方案 – junior

+0

我是什么指出是语法,比如'next value for' – WarrenT

0

“插入yourtableone选择默认,VAL1,从yourtabletwo值2”,并宣布该ID默认为genereated

+0

id_h是由它的序列产生的,我怎么能整合它呢? – junior

2

制作ID_H自动递增,并尝试这个

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

ID_H将自动递增无需把它放在查询

希望这将有助于

+0

这是db2的问题,我不能设置id_h自动增量 我必须为它创建一个序列 – junior

+0

@neila你是什么意思的顺序,对不起,我没有得到? –

+0

为id_h我必须使用它的顺序product_history_seq (product_history_seq.nextval) – junior

1
INSERT INTO productHistory (id_h, id_product, name) 
    (SELECT 
    product_history_seq.nextval, 
    id_product, 
    name 
    FROM product); 

这一工程

+0

是的,它的工作:) – junior