用一条语句,删除Oracle中分页查出来的很多条记录,该怎么写?
id是有重复的,而rownum是唯一的(图中简称RM),上图的sql语句如下:selectt2.*from(selectrownumrm,t1.id,t1.namefro...
id 是有重复的, 而rownum是唯一的(图中简称RM),
上图的sql语句如下:
select t2.* from (select rownum rm,t1.id,t1.name from tab t1 where rownum<=18) t2 where t2.rm >=12;
这样写也可以,但是还有没有其他的方法呢?
delete from tab where rownum>=0 and rownum<=3; 展开
上图的sql语句如下:
select t2.* from (select rownum rm,t1.id,t1.name from tab t1 where rownum<=18) t2 where t2.rm >=12;
这样写也可以,但是还有没有其他的方法呢?
delete from tab where rownum>=0 and rownum<=3; 展开
展开全部
查出来的数据有主键么?有的话delete from tab_name 后面的where条件把查出来的部分用In查询就好了啊
更多追问追答
追问
这样写的话会删除表中所有的记录,where 后面的条件几乎没有作用,
我安装的是oracle 10g的.
追答
你的数据是没有唯一主键的是这个意思么?必须得通过数据的行号来进行删除?没试过用rownum删除数据··· 只用这个做过分页查询···
这样行么
delete from (这里面把你进行数据查询和获得行号的select语句写进来,但是这里面只为了取行号,然后和本来的表拼成一个虚表),然后在外面用行号的范围来进行删除?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select t2.* from (select rownum rm,t1.id,t1.name from tab t1 where rownum<=18) t2 where t2.rm >=12 for update
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
说得太笼统了!!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
delete from tablename where id < x and id > y;????????
追问
这个方法我知道,问题是,这张表的id有不是有序的,比喻说: id 有1,3,6,8,10,25....等等。
追答
那只能一个一个添加条件了,或者看一下这些数字有什么特点,就是数学问题了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询