Unterstützt Redshift eine Anweisung, die der folgenden entspricht?Amazon Redshift: Drop-Tabelle, wenn vorhanden
DROP TABLE IF EXISTS tablename
Unterstützt Redshift eine Anweisung, die der folgenden entspricht?Amazon Redshift: Drop-Tabelle, wenn vorhanden
DROP TABLE IF EXISTS tablename
Siehe nächste Antwort; Dies ist veraltet.
Unterstützung für
DROP TABLE IF EXISTS tablename;
wurde in PostgreSQL 8.2 hinzugefügt. Redshift ist eine sehr stark modifizierte Fork von 8.1 von ParAccel, und soweit ich weiß, haben sie sehr wenige Änderungen von neueren Versionen zurückportiert. Es ist sehr unwahrscheinlich, dass es unterstützt IF EXISTS
; Sie müssen wahrscheinlich eine Katalogabfrage durchführen, um festzustellen, ob die Tabelle existiert, indem Sie information_schema
nachschlagen und dann entscheiden, ob Sie sie basierend auf dem Ergebnis erstellen.
Dies ist in der neuesten Version von Redshift unterstützt:
DROP TABLE [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ]
IF EXISTS-Klausel, die die Tabelle, wenn der angegebene gibt nicht vorhanden sind, sollte der Befehl keine Änderungen vornehmen und eine Nachricht zurück, die Die Tabelle existiert nicht, anstatt mit einem Fehler zu enden.
Diese Klausel ist beim Erstellen von Skripten hilfreich, daher schlägt das Skript nicht fehl, wenn DROP TABLE für eine nicht vorhandene Tabelle ausgeführt wird.
Von online AWS Redshift docs übernommen.
Gut zu sehen, sie arbeiten immer noch an der Kompatibilität mit Pg. –
Dies sollte die akzeptierte Antwort sein. – Kerr
Diese Funktion wird unterstützt, siehe meine Antwort unter –