比如我想在一个表中删除50条记录怎么办?没有特定条件删除记录

解决方案 »

  1.   

    delete from tb_name wehre row_num<=50;15:31:52 SCOTT@myora > select * from emp;     EMPNO ENAME                JOB                       MGR HIREDATE              SAL       COMM     DEPTNO
    ---------- -------------------- ------------------ ---------- -------------- ---------- ---------- ----------
          7369 SMITH                CLERK                    7902 17-12月-80            800                 20
          7499 ALLEN                SALESMAN                 7698 20-2月 -81           1600        300      30
          7521 WARD                 SALESMAN                 7698 22-2月 -81           1250        500      30
          7566 JONES                MANAGER                  7839 02-4月 -81           2975                 20
          7654 MARTIN               SALESMAN                 7698 28-9月 -81           1250       1400      30
          7698 BLAKE                MANAGER                  7839 01-5月 -81           2850                 30
          7782 CLARK                MANAGER                  7839 09-6月 -81           2450                 10
          7839 KING                 PRESIDENT                     17-11月-81           5000                 10
          7844 TURNER               SALESMAN                 7698 08-9月 -81           1500          0      30
          7900 JAMES                CLERK                    7698 03-12月-81            950                 30
          7902 FORD                 ANALYST                  7566 03-12月-81           3000                 20
          7934 MILLER               CLERK                    7782 23-1月 -82           1300                 10已选择12行。17:29:44 SCOTT@myora > delete from emp where rownum<=2;已删除2行。
      

  2.   

    比方,想删除前50行记录:
    delete from 表名 where rownum<51;
      

  3.   

    delete from table where rownum<=50 
      

  4.   

    推荐1楼的做法,用rowid是正解
      

  5.   

    RE 楼上
    ..... 用rowid 啊,还是rownum .....
      

  6.   

    首先,要注意备份哦!!!因为这是个删除操作!其次,num_row,rowid,rownum,level,,,,很多伪列都可以做到
      

  7.   

    delete tablename where rownum < 51 
      

  8.   

    一般是用rownum ,够直观.不过这样做在业务上是什么?
    一般是按什么排序了之后删除,或是有什么限定条件的吧