반응형
Oracle -- WITH CLOUSE => 병합?( 구문 오류, )
Oracle에서 병합할 WITH 절을 사용하려고 하는데 어떤 이유에서인지 작동이 되지 않습니다.저는 그것이 명백한 것이라고 확신하지만, 저는 단지 그것을 보지 못했습니다.
-- behold, the wonders of fake data
WITH X AS (
SELECT
'moo' AS COW,
'woof' AS CAT,
(SELECT MAX( DECIBELS ) FROM ANIMALIA WHERE COW = 'moo' ) AS DECIBELS
FROM DUAL )
MERGE INTO ANIMALIA D
USING X
WHEN MATCHED THEN
UPDATE SET D.COW = X.COW;
편집
저는 실제로 (질문을 제출하기 전에) 이 문제를 관리하는 방법을 알아냈지만, 답을 찾는 데 꽤 오랜 시간이 걸렸기 때문에, 이 질문을 올려놓는 것이 다음 사람이 그리 많은 시간 안에 찾을 수 있다는 것을 의미한다고 생각합니다.
제가 하루 정도 후에 올리겠지만, 그 사이에 다른 사람이 올리면 점수를 받을 수 있습니다.
SELECT 문 이외에는 WITH 절을 사용할 수 없습니다.여기에 있는 설명서를 참조하십시오.:
이 절은 모든 최상위 SELECT 문 및 대부분의 하위 쿼리 유형에서 지정할 수 있습니다.
따라서 다음과 같은 작업을 수행할 수 있습니다(11g 테스트 완료).
MERGE INTO animalia d
USING (WITH X AS
(SELECT 'moo' AS COW, 'woof' AS CAT,
(SELECT MAX( DECIBELS )
FROM ANIMALIA
WHERE COW = 'moo' ) AS DECIBELS
FROM DUAL )
SELECT * FROM X) q ON (1 = 1)
WHEN MATCHED THEN UPDATE SET d.cow = q.cow||' and more';
언급URL : https://stackoverflow.com/questions/6673806/oracle-with-clause-merge-syntax-error
반응형
'programing' 카테고리의 다른 글
ID로 그룹화된 후 열 값을 기준으로 행을 카운트하는 방법 (0) | 2023.06.20 |
---|---|
IE에서 "시스템 호출로 전달된 데이터 영역이 너무 작습니다"라는 오류가 발생하는 이유는 무엇입니까? (0) | 2023.06.20 |
앱이 디버그에서 실행 중일 때 Firebase 충돌 보고를 비활성화하는 방법은 무엇입니까? (0) | 2023.06.20 |
Python이 동일한 폴더에서 모듈을 찾을 수 없음 (0) | 2023.06.20 |
상태 변수 트리거 변환 오류 (0) | 2023.06.20 |