如何创建一行“双胞胎”并更新一个值

时间:2016-08-04 13:52:55

标签: sql oracle

我在这里遇到一些问题。

我需要创建10个或更多相同的行,然后只更新一列。

我会为我的解释尝试一个模式。

我有这个:

IDARRET        LBL              MODELE
1              Car              Ford
2              TRUCK            Ford
3              Boat             Ford

我想要这样的事情:

IDARRET        LBL              MODELE
1              Car              Ford
2              TRUCK            Ford
3              Boat             Ford
4              Car              Ferrari
5              Truck            Ferrari
6              Boat             Ferrari

我希望它是动态的,因为我有超过3行。

对不起我的英语,这不是我的母语,如果你不明白我在说什么,请告诉我,我需要提高我的英语技能!

编辑:在axel的问题之后:是的,idarret是一个序列,我需要创建所有行的双胞胎,然后在我的请求中选择最后一列的最后一个值。

1 个答案:

答案 0 :(得分:3)

看起来你根本就不需要插入选择:

SQL> select * from test_twin;

   IDARRET LBL        MODELE
---------- ---------- ----------
         1 Car        Ford
         2 TRUCK      Ford
         3 Boat       Ford

SQL> insert into test_twin
  2  select yourSequence.nextVal, LBL, 'Ferrari'
  3  from test_twin;

3 rows created.

SQL> select * from test_twin;

   IDARRET LBL        MODELE
---------- ---------- ----------
         4 Car        Ferrari
         5 TRUCK      Ferrari
         6 Boat       Ferrari
         1 Car        Ford
         2 TRUCK      Ford
         3 Boat       Ford

6 rows selected.