database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
ㆍOracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Oracle Q&A 22007 게시물 읽기
No. 22007
rownum에 대해..
작성자
초보
작성일
2005-03-15 21:42
조회수
2,751

rownum으로 delete 하려고 하는데요..

rownum < 10 ; 일경우는 데이타 삭제가 되는데.. rownum > 10 ; 일경우는 delete된 행이 하나도 없네요.. 이유가 뭘까요.. rownum이 10보다 큰 데이타가 9개나 되는데요..

답변 주시면 감사드리겠습니다.

 

 

SQL> select job_id, rownum from test ;

JOB_ID ROWNUM
---------- ----------
AD_PRES 1
AD_VP 2
AD_ASST 3
FI_MGR 4
FI_ACCOUNT 5
AC_MGR 6
AC_ACCOUNT 7
SA_MAN 8
SA_REP 9
PU_MAN 10
PU_CLERK 11

JOB_ID ROWNUM
---------- ----------
ST_MAN 12
ST_CLERK 13
SH_CLERK 14
IT_PROG 15
MK_MAN 16
MK_REP 17
HR_REP 18
PR_REP 19

 

 

SQL> delete from kmj where rownum < 10 ;

9 행이 삭제되었습니다.

SQL> rollback;

롤백이 완료되었습니다.

SQL> delete from kmj where rownum >10 ;

0 행이 삭제되었습니다.

이 글에 대한 댓글이 총 1건 있습니다.

일단 rownum 이 평가되는 시기는 정렬 등이 이루어지기 전이구요

rownum 이 1이 되지 않고는 2는 될 수 없습니다.

즉 delete from .... where rownum > 10

이 건 안됩니다.

 

단 이런 식은 됩니다. (단 key는 id 입니다)

delete khs2
where id in (select id from (select id,rownum rn from khs2) where rn > 10)
/

29462 행이 삭제되었습니다.

김흥수(protokhs)님이 2005-03-15 22:11에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
22011JDBC Version 관하여 알고 싶습니다. [1]
짱장구
2005-03-16
1507
22010oracle bit 관련 [1]
손님
2005-03-16
1421
22009테이블 두개 조인하여 페이징 할 경우 문제가 생겼습니다. [1]
급질문
2005-03-16
2299
22007rownum에 대해.. [1]
초보
2005-03-15
2751
22006오라클 테이블 join 문제입니다..조언 부탁드려요~~ [2]
김길순
2005-03-15
1816
22005Fatal error: Call to undefined function: ocilogon()
최성일
2005-03-15
2455
22004RMAN 으로 CLON DB 생성
정광철
2005-03-15
1863
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.048초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다