by 치킨마요네즈 [SQL Query] postgre update 기본키 [2021.09.03 18:07:37]
안녕하세요.
안풀리는 쿼리가 있어서 여쭤보고 싶습니다 ㅠㅠ
기본키가 설정되지 않는 테이블에 특정 데이터를 한건만 업데이트 하는 것인대요,
가령 아래와 같이 있다고 했을때,
------------------------------------
field1 | field2 | field3 | field4
------------------------------------
홍길동 | 14 | 서울 | 승용차
------------------------------------
홍길동 | 15 | 서울 | 자동차
------------------------------------
홍길동 | 14 | 서울 | 자동차
------------------------------------
2번째 low 값 중, field3 을 "부산" 으로 바꾸고 싶습니다.
재가 생각한방법은
UPDATE /*+ bypass_ujvc */
(
select * from (
SELECT
(ROW_NUMBER() OVER()) AS ROWNUM
, *
FROM [table]
) a
where a.ROWNUM = 2
)
set
field3 = '부산'
이지만, ERROR: syntax error at or near "(" LINE 2: ( ^ SQL state: 42601 Character: 28 오류가
나고 있습니다.
문법이 틀린건지, 지원을 안하는건지, 감이 안오내요 ㅠㅠ
참고로 DB 는 postgresql 입니다.
쿼리가 틀렸다면 어떤식으로 접근해야할까요??