Dieser Code unten mit SELECT-Anweisung funktioniert:mit DELETE Redshift Syntaxfehler
WITH
smaller_uuid AS (
SELECT
id, uuid, email, first_name, last_name, display_name
FROM stack_users_production.users AS user1
WHERE EXISTS (
SELECT
id, uuid, email
FROM
stack_users_production.users AS user2
WHERE
user1.id = user2.id AND
user1.email = user2.email AND
user1.uuid < user2.uuid
)
)
SELECT
id, uuid, email, first_name, last_name, display_name
FROM
stack_users_production.users
WHERE
uuid IN (SELECT uuid FROM smaller_uuid);
Aber dieser Code unten mit DELETE-Anweisung nicht funktioniert:
WITH
smaller_uuid AS (
SELECT
id, uuid, email, first_name, last_name, display_name
FROM stack_users_production.users AS user1
WHERE EXISTS (
SELECT
id, uuid, email
FROM
stack_users_production.users AS user2
WHERE
user1.id = user2.id AND
user1.email = user2.email AND
user1.uuid < user2.uuid
)
)
DELETE FROM
stack_users_production.users
WHERE
uuid IN (SELECT uuid FROM smaller_uuid);
Es sagt Fehler Syntax:
psql:snippets.pgsql:113: ERROR: syntax error at or near "DELETE" LINE 18: DELETE FROM
Ich verwende PostgreSQL 9.6.3 und ist mit AWS Redshift verbunden, wenn diese Abfrage ausgeführt wird.
Können Sie CTE in diesem mit RedShift? –