스도컬럼인 rownum 을 이용한 delete 0 6 6,603

by ORA [Oracle 기초] [2011.07.19 15:08:16]


delete from table1 
where rownum=1 

하면 1개의 행이 잘 지워집니다.

delete from table1
where rownum=3

하면 0개의 행이 지워졌나고 나옵니다..
물론 컬럼 갯수는 3개 이상입니다.

무엇이 잘못된거고.. 어떻게 해야 rownum을 이용해 지울 수 있나요?
by 知音 [2011.07.19 15:20:57]
rownum <= 3

by ORA [2011.07.19 15:56:35]
답변 감사합니다.. 그런데 제가 원하는건 3번만 삭제하는거인데.. 불가능한가요?
rowid로는 가능하던데.. rownum은 안되네요..ㅠㅠ

by 마농 [2011.07.19 16:15:10]
DELETE FROM table1
WHERE ROWID =
(SELECT rid FROM (SELECT ROWNUM rn, ROWID rid FROM table1) WHERE rn = 3)

by 김용한 [2011.07.19 16:43:18]
마농님 인라인뷰를 이용한건가요?

by ORA [2011.07.19 16:53:32]
잘 해결됬습니다~ rownum이 동적생성되는 성질이 있었군요..
답변 감사합니다!!^^

by 마농 [2011.07.19 17:10:18]
rownum은 조회결과의 행번호입니다.
행번호가 3번인 행만 가져온다면 조회결과는 1건이 되고 행번호는 다시 1이 되지요.
결국 행번호 3인 자료는 가져올 수 없습니다.
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입