ORA-02014 해결 방법: DISTINCT, GROUP BY로 보기에서 FOR UPDATE를 선택할 수 없습니다.
다음 쿼리를 사용하여 레코드 그룹을 잠급니다.
select *
from (select *
from event_table
where status = 'S'
order by creation_data asc
)
where rownum <=10
for update;
event_table은 뷰가 아닙니다.이것은 일반 테이블입니다.
create table event_table
(
id number,
creation_date date,
status number,
info clob
);
기본 키는 필드 ID입니다.
사용할 수 있습니까?rownum
와 함께select for update
전혀?
다음을 사용하는 다른 솔루션이 있습니까?select for update
선택한 결과가 아닌 행 그룹만 선택할 수도 있습니다.
예를 들어 내부 X마다 실행되는 태스크가 있으며 사용해야 합니다.select for update
해당 테이블의 경우, 하지만 선택 항목이 500개의 행을 반환하는 경우, 저는 매번 100개의 행을 처리하기를 원합니다(페이지 종류).그래서 노력한 것입니다.rownum
그것 때문에
감사해요.
작동합니까?:
select * from event_table where id in
(
SELECT id
FROM (SELECT *
FROM event_table
WHERE status = 'S'
ORDER BY CREATION_DATA ASC)
WHERE ROWNUM <=10
)
FOR UPDATE;
언급URL : https://stackoverflow.com/questions/5873051/how-to-solve-ora-02014-cannot-select-for-update-from-view-with-distinct-group
'programing' 카테고리의 다른 글
다른 사람이 저장 프로시저의 결과를 사용하는 방법 - MariaDB (0) | 2023.08.10 |
---|---|
Spring boot "Hikari Pool Shutdown" 초기 오류 (0) | 2023.08.10 |
div의 CSS 사용자 정의 스크롤 막대 (0) | 2023.08.10 |
CSS 너비/높이 또는 HTML 콜/행 속성으로 텍스트 영역 크기를 지정해야 합니까? (0) | 2023.08.10 |
vlookup에서 와일드카드를 사용할 수 있습니까? (0) | 2023.08.10 |