0
의 UPSERT 나는 Azure와 함께 IF x THEN UPDATE ELSE INSERT
을 결합 할 수 있다고 알고 있는데, Redshift SQL을 사용하여 동일한 작업을 수행 할 수 있습니까?(CASE 및 UPDATE 문 결합) 아마존 Redshift
나는 현재이 코드를 시도하고있다 :
SELECT source,
CASE WHEN (SELECT 1 FROM state WHERE name =
'out_dev' AND environment = 'dev') > 0
THEN
(UPDATE state SET source='new source')
ELSE (
INSERT state (source, name, load_time, hash, environment)
VALUES ('test', 'out_dev', '2017-10-12 01:14:38', '"f324f873b05d0792a3192bc28f466835"', 'dev'))
END
FROM state
이 오류를 반환
[Amazon](500310) Invalid operation: syntax error at or near "state"
Position: 132;
(UPDATE state SET source='new source')
는 내가 뭔가를 분명보고 있지 않다 경우 용서 그래서 적색 편이에 새로운 오전.
삽입 및 업데이트 작동 방식에 맞지 않습니다. 이 태그가 푸른 색으로 표시된 이유는 무엇입니까? 당신은 그런 하위 쿼리에서 삽입과 업데이트를 사용할 수 없습니다. 갱신 및 삽입시 redshift/postgres 문서를 읽으십시오. –