2013-08-02 100 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