[SQL] 오라클 : ON DUPLICATE KEY UPDATE [중복]
SQL오라클 : ON DUPLICATE KEY UPDATE [중복]
나는 하나 (바람직하게는 단순-에서-A-구문 감지) 쿼리 여러 레코드를 업데이트하는 내가 미키 엘 드 마레부터 여기 솔루션을 구현하기 위해 노력하고있어. 나는 이런 모습에서 배우려고 노력하고 있다는 예제 코드 :
INSERT INTO table (id,Col1,Col2) VALUES (1,1,1),(2,2,3),(3,9,3),(4,10,12) ON DUPLICATE KEY UPDATE Col1=VALUES(Col1),Col2=VALUES(Col2);
나는 오라클을 사용하고 있습니다 (아직 잘 SQL 쿼리에 정통하고 있지 않다).
일부 동적 내용을 바탕으로, 위과 유사한 내 쿼리를 연결된했다. 내가 업데이트하고 레코드 수에 따라 길이가 달라질 수 있지만 내가 생성하는 쿼리의 예입니다 :
INSERT INTO my_table (question_id,ug) VALUES (30,0),(31,1) ON DUPLICATE KEY UPDATE ug=VALUES(ug)
위의 쿼리는이 오류를 얻고있다 :
Native message: ORA-00933: SQL command not properly ended
나는 쿼리를 실행하는 함수 호출이있는 콘텐츠 관리 시스템을 취급하고있다; 이 프레임 워크 내에서. 나는 그것이 적절한 생각하지 않습니다,하지만 난을 넣어하는 데 필요한 적이없는 ';' 쿼리의 말에, 그러나, 나는 함께하고 세미콜론없이 시도했다.
해결법
-
==============================
1.오라클은 대신 중복 키 업데이트를 사용하여 병합에 없습니다 :
오라클은 대신 중복 키 업데이트를 사용하여 병합에 없습니다 :
MERGE INTO my_table trg USING (SELECT 30 as question_id,0 as ug FROM DUAL UNION ALL SELECT 31,1 FROM DUAL) src ON (src.question_id = trg.question_id) WHEN NOT MATCHED THEN INSERT(question_id, ug) VALUES (src.question_id, src.ug) WHEN MATCHED THEN UPDATE SET trg.ug = src.ug
from https://stackoverflow.com/questions/17254018/oracle-on-duplicate-key-update by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 열이 null MySQL을 수 없습니다 (0) | 2020.07.17 |
---|---|
[SQL] SQL 저장 프로 시저 사용하여 PHP에서 반환 값을 가져옵니다 (0) | 2020.07.17 |
[SQL] 잡을 치명적인 오류 : 클래스 mysqli_stmt의 객체는 문자열로 변환 할 수 없습니다 (0) | 2020.07.17 |
[SQL] SQL 서버 : 대신 DELETE CASCADE ON의 자기 참조 FK, 트리거 (0) | 2020.07.17 |
[SQL] 어떻게 봄 부팅 프로젝트에 SQL 쿼리, Log4jdbc과의 매개 변수 및 결과를 기록하려면? (0) | 2020.07.17 |