|
|
|
|
|
|
|
|
Re: how delete last 10 records from the table [message #215843 is a reply to message #215840] |
Wed, 24 January 2007 01:26   |
pavuluri
Messages: 247 Registered: January 2007
|
Senior Member |
|
|
see the out put
SQL> select * from employee;
ID FIRST_NAME LAST_NAME START_DAT END_DATE SALARY CITY
---- ---------- ---------- --------- --------- ---------- ----------
DESCRIPTION
---------------
01 Jason Martin 25-JUL-96 25-JUL-06 1234.56 Toronto
Programmer
02 Alison Mathews 21-MAR-76 21-FEB-86 2334.78 Vancouver
Tester
03 James Smith 12-DEC-78 15-MAR-90 2334.78 Vancouver
Tester
ID FIRST_NAME LAST_NAME START_DAT END_DATE SALARY CITY
---- ---------- ---------- --------- --------- ---------- ----------
DESCRIPTION
---------------
04 Celia Rice 24-OCT-82 21-APR-99 2334.78 Vancouver
Manager
05 Robert Black 15-JAN-84 08-AUG-98 2334.78 Vancouver
Tester
06 Linda Green 30-JUL-87 04-JAN-96 2334.78 New York
Tester
ID FIRST_NAME LAST_NAME START_DAT END_DATE SALARY CITY
---- ---------- ---------- --------- --------- ---------- ----------
DESCRIPTION
---------------
07 David Larry 31-DEC-90 12-FEB-98 2334.78 New York
Manager
08 James Cat 17-SEP-96 15-APR-02 2334.78 Vancouver
Tester
08 James Cat 17-SEP-96 15-APR-02 1234.56 Vancouver
Tester
ID FIRST_NAME LAST_NAME START_DAT END_DATE SALARY CITY
---- ---------- ---------- --------- --------- ---------- ----------
DESCRIPTION
---------------
08 James Cat 17-SEP-96 15-APR-02 1234.56 Vancouver
Tester
10 rows selected.
SQL> delete from employee where rowid in
2 (select r from (select rowid r from employee order by rownum desc) where rownum<4);
3 rows deleted.
SQL> select * from employee
2 ;
ID FIRST_NAME LAST_NAME START_DAT END_DATE SALARY CITY
---- ---------- ---------- --------- --------- ---------- ----------
DESCRIPTION
---------------
01 Jason Martin 25-JUL-96 25-JUL-06 1234.56 Toronto
Programmer
02 Alison Mathews 21-MAR-76 21-FEB-86 2334.78 Vancouver
Tester
03 James Smith 12-DEC-78 15-MAR-90 2334.78 Vancouver
Tester
ID FIRST_NAME LAST_NAME START_DAT END_DATE SALARY CITY
---- ---------- ---------- --------- --------- ---------- ----------
DESCRIPTION
---------------
04 Celia Rice 24-OCT-82 21-APR-99 2334.78 Vancouver
Manager
05 Robert Black 15-JAN-84 08-AUG-98 2334.78 Vancouver
Tester
06 Linda Green 30-JUL-87 04-JAN-96 2334.78 New York
Tester
ID FIRST_NAME LAST_NAME START_DAT END_DATE SALARY CITY
---- ---------- ---------- --------- --------- ---------- ----------
DESCRIPTION
---------------
07 David Larry 31-DEC-90 12-FEB-98 2334.78 New York
Manager
7 rows selected.
|
|
|
|
|
|
|
|
Re: how delete last 10 records from the table [message #215897 is a reply to message #215861] |
Wed, 24 January 2007 04:11  |
Frank
Messages: 7901 Registered: March 2000
|
Senior Member |
|
|
user52 wrote on Wed, 24 January 2007 09:04 | Hi,
@littefoot
@frank
misunderstood your question.
yes your query is correct if LAST ROWS delete.
or
Frank query is correct if FAST ROWS delete
regards
Taj
|
No Taj, we did NOT misunderstand his question. There is NO such thing as LAST ROWS if you order by rownum. Like Maarten says, you need an actual column to order by, not a pseudo column.
Both the OPs query and mine delete RANDOM rows.
|
|
|