怎么删除刚刚插入表的那几行数据

如何删除刚刚插入表的那几行数据
好比,我昨天向表里插入了100行,今天过来才知道插错了。那么我想删除这100行,没有第二个表可以做连表查询,那么该怎么删除昨天插入的这100行数据呢?我曾经用rownum来删,假设该表现有1500行,我曾经的代码如下:
delete tb1
where rowid in (select rowid from (select rownum as rm,rowid from tb1) where rm > 1400)

但是现在发现,rownum的大小与插入数据的先后可能并不是一一对应的关系。不知道大家能理解不,上一张图怎么删除刚刚插入表的那几行数据
我是按照时间先后插入数据的 ,但是在查询时明显看到11.26号的数据出现在11.25号的数据上面,也就是说rownum并不能真实反映数据插入的先后顺序。那我的问题就来了,该怎么删除最后插入表的100行数据呢?
------解决思路----------------------
试试闪回查询,用现在表中的数据minus闪回查询的数据,差值就是你想查的数据
select * from tb1
minus
select * from  tb1 as of  timestamp to_timestamp('2007-05-12 13:22:33', 'YYYY-MM-DD HH24:MI:SS')
--时间自行调整

------解决思路----------------------
那么问题来了……

如果数据是按operdate顺序插入的
可以delete from xxx t1 where (select count(1) from xxx t2 where t2.operdate>t1.operdate)<100

或者如果undo没被覆盖
delete from xxx t1 where t1.rowid not in (select t2.rowid from xxx as of timestamp to_date('2014-11-25 12:00','YYYY-MM-DD HH24:MI') t2)
把时间改成合适的值,会将后来插入的数据删掉
用flashback table xxx to timestamp to_date(xxx,xxx);也行,但是要小心数据丢失
------解决思路----------------------
有没有插入时间判断,没有很难准确删除。
特别是有删除数据情况。
------解决思路----------------------
楼主用发的ROWNUM很危险,谨慎处理
可以考虑从其他相关点进行处理:如操作时间