쿼리 내용으로는 TEST 테이블에서 where 조건에 해당하는 값을 오름차순 정렬하여
일정갯수 만큼 삭제하는 것입니다.
해당 쿼리 실행 시 ORA-01732 에러가 떨어지내요.
해당쿼리에서 delete 를 안하고 select 를 할 경우에는 정상적으로 실행 되며,
또한 delete 쿼리에서 order by 절을 삭제하면 정상적으로 수행 됩니다.
order by 절이 꼭 수행 되어야 하는데 고수님들 도움 구해봅니다.
* where 조건에 만족하는 값이 오래 된 날짜순으로 정렬하여 9개씩 유지하려고 합니다.
ex) 조건에 만족하는 값이 14개 일 경우, 오래된 날짜순으로 5개를 삭제하여 9개만 유지
[수행 쿼리]
delete
FROM
(SELECT *
FROM TEST
WHERE mac_idx=9
AND mac_addr='000000000000'
AND data_type='W'
ORDER BY time_stamp ASC
)
WHERE ROWNUM < 6