0
我知道Azure可以合併一個IF x THEN UPDATE ELSE INSERT
,是否可以用Redshift SQL做同樣的事情?(結合CASE和UPDATE語句)UPSERT在Amazon 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文檔。 –