Ich weiß mit Azure ist es möglich, eine IF x THEN UPDATE ELSE INSERT
zu kombinieren, ist es möglich, das Gleiche mit Redshift SQL zu tun?(CASE und UPDATE-Anweisungen kombinieren) UPSERT in Amazon Redshift
Ich bin derzeit versucht, diesen Code:
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
Dies gibt den Fehler:
[Amazon](500310) Invalid operation: syntax error at or near "state"
Position: 132;
(UPDATE state SET source='new source')
: Ich bin so vergeben Rotverschiebung, wenn ich nicht auf der Hand etwas zu sehen bin.
das ist nicht wie einfügen und aktualisieren funktionieren. Warum ist das mit Azurblau markiert? Sie können das Einfügen und Aktualisieren in Unterabfragen wie diesem nicht verwenden. lese die redshift/postgres docs auf update und füge sie ein. –