首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

根据rownum向表中一列批量添加数据解决方案

2012-04-22 
根据rownum向表中一列批量添加数据表product 中的product_info这一列,想通过rownum来批量插入测试数据,写

根据rownum向表中一列批量添加数据
表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;


[解决办法]
直接一条语句就可以搞定,不用循环啊。

实测数据:
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);
[解决办法]
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 

热点排行