+ -
当前位置:首页 → 问答吧 → 根据rownum向表中一列批量添加数据

根据rownum向表中一列批量添加数据

时间:2011-12-16

来源:互联网

表product 中的product_info这一列,想通过rownum来批量插入测试数据,写了下面一段SQL代码,但是运行结果只有第一行的数据被更新,这是怎么回事?
SQL code
begin
  for i in 1..100 loop
    update product set  product_info='商品描述测试'||i where rownum = i;
    dbms_output.put_line('商品描述测试'||i);
    end loop;
end;

作者: stomach   发布时间: 2011-12-16

直接一条语句就可以搞定,不用循环啊。

实测数据:
SQL code

CREATE TABLE T58
(
    ID NUMBER(4),
    ProductInfo VARCHAR2(20)
);

INSERT INTO T58 VALUES(1, NULL);
INSERT INTO T58 VALUES(2, NULL);
INSERT INTO T58 VALUES(3, NULL);
INSERT INTO T58 VALUES(4, NULL);
INSERT INTO T58 VALUES(5, NULL);



实测结果:

作者: LuiseRADL   发布时间: 2011-12-16

oracle中rownum不能跨过rownum=1去查rownum=2的,可以这样用:SQL code
select t1 from (select t.*,t.rownum as no from product t)t1 where t1.no=2

作者: hebeishimeng   发布时间: 2011-12-16

SQL code
select t1.* from (select t.*,t.rownum as no from product t)t1 where t1.no=2

作者: hebeishimeng   发布时间: 2011-12-16

热门下载

更多