반응형
중복 키 업데이트 시와 동등한 Oracle DB
Oracle에서 다음 MySQL 쿼리를 실행해야 합니다.
INSERT INTO users VALUES(1,10) ON DUPLICATE KEY UPDATE points = 10;
그 외에 또 다른 것이 있습니까?merge이해가 안 돼요.
다음을 사용해야 합니다.MERGE비슷한 것
MERGE INTO users dest
USING( SELECT 1 user_id, 10 points FROM dual) src
ON( dest.user_id = src.user_id )
WHEN MATCHED THEN
UPDATE SET points = src.points
WHEN NOT MATCHED THEN
INSERT( user_id, points )
VALUES( src.user_id, src.points );
MERGE를 사용하지 않으려면 다음을 시도할 수 있습니다.
begin
INSERT INTO users VALUES(1,10);
exception
when dup_val_on_index then
update users
set points = 10
where id = 1;
end;
MERGE INTO users u
USING (SELECT 1 as id FROM dual) a
ON a.id = u.id
WHEN MATCHED THEN UPDATE SET u.points = 10
WHEN NOT MATCHED THEN INSERT (id, points) VALUES (1, 10);
언급URL : https://stackoverflow.com/questions/10589350/oracle-db-equivalent-of-on-duplicate-key-update
반응형
'programing' 카테고리의 다른 글
| MySQL: 트랜잭션 내에서 테이블 잘라내기? (0) | 2023.07.24 |
|---|---|
| PowerShell을 시작하는 방법은 무엇입니까? (0) | 2023.07.24 |
| 모건 로거는 어떻게 사용하나요? (0) | 2023.07.24 |
| GitHub - 작성자별 커밋 나열 (0) | 2023.07.24 |
| 박리된 애플리케이션의 주요 기능을 분해하는 방법은 무엇입니까? (0) | 2023.07.24 |