6

我有一个表 product(id_product , name );

我还有一个: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

什么是正确的查询?

4

4 回答 4

4

我相信您正在寻找:

insert into  productHistory 
       ( id_h
       , id_product 
       , name
       ) 
  select next value for product_history_seq
       , id_product 
       , name 
    from product 
;
于 2013-08-02T11:10:12.040 回答
2

使 id_h 自动递增并尝试这个

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

id_h 将自动递增,无需将其放入查询中

希望它会有所帮助

于 2013-08-02T07:10:35.127 回答
1
INSERT INTO productHistory (id_h, id_product, name)
  (SELECT
    product_history_seq.nextval,
    id_product,
    name
  FROM product);

这样可行

于 2013-08-02T08:17:59.170 回答
0

“插入 yourtableone 选择 default, val1, val2 from yourtabletwo” 并将 id 声明为默认生成

于 2013-08-02T07:03:04.857 回答