0
私はAzureでIF x THEN UPDATE ELSE INSERT
を組み合わせることが可能ですが、Redshift SQLでも同じことができますか?(CASEとUPDATE文を組み合わせたもの)AmazonレッドシフトのUPSERT
私は現在、このコードをしようとしています:
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 docsを読んで、挿入してください。 –