CREATE TABLE A 
(
     P1 VARCHAR2(30),  --产品编号
   P2  PRICE NUMBER  --产品价格
)INSERT INTO VALUES('AA',682.0); INSERT INTO VALUES('BB',77.0);
INSERT INTO VALUES('CC',88.9);
NSERT INTO VALUES('DD',88.9);CREATE TABLE B
(
     D1 NUMBER,  --ID 值 从2000开始
   D2 VARCHAR2(30),  ---产品编号
   D3 NUMBER ,      --产品价格
   D4 NUMBER       ---产品类型
)
INSERT INTO  B VALUES(1997,'AA',92.5,1);INSERT INTO  B VALUES(1998,'BB',30.2,1);
NSERT INTO  B VALUES(1999,'CC',40.2,1);
------------------------------------
---要实现以下操作INSERT INTO B VALUES(2000,'AA',682.0,2);
INSERT INTO B VALUES(2001,'BB',77.0,2);
INSERT INTO B VALUES(2002,'CC',88.9,2);
..............
这个语句怎么实现?谢谢了

解决方案 »

  1.   

    for i=1..10 loop
       insert into table values(i)
      

  2.   

    把上面的FOR写在
    begin
    end;
    中,然后执行
      

  3.   

    A 和B要关联,A 的价格关联到B表
      

  4.   

    参考,参考
    create procedure kkkkk (??) is
    cursor cur_rec is
    select a.p1,a.p2 from a,(select distinct d2 from b)  b where a.p1 = b.d2;
    v_year number;
    being 
    year = 2000;
    for i in 2..?? loop
    being 
    for rec in cur_rec loop 
    insert into b values(v_year,rec.p1,rec.p2,i);
    v_year = v_year+1;
    end loop;
    end;
    end loop;
    end kkkk;
      

  5.   

    INSERT INTO B (select rownum+2000,a.P1,a.p2,2 from a)
      

  6.   

    insert into B 
    select rownum+2000-1,p1,p2,2
    from A
      

  7.   

    FOR LOOP循环或者游标CURSOR即可实现。