2013-11-24 12 views

Odpowiedz

11

Zobacz następną odpowiedź; to jest nieaktualna.


Wsparcie

DROP TABLE IF EXISTS tablename; 

dodano PostgreSQL 8.2. Redshift jest bardzo silnie zmodyfikowanym widżetem 8.1 autorstwa ParAccel, i o ile mi wiadomo, udało mu się przenieść kilka zmian z nowszych wersji. Jest bardzo mało prawdopodobne, że obsługuje on IF EXISTS; prawdopodobnie musisz wykonać kwerendę z katalogu, aby ustalić, czy tabela istnieje, sprawdzając, czy istnieje information_schema, a następnie decydując, czy utworzysz ją na podstawie wyniku.

+0

Ta funkcja jest obsługiwana, patrz moja odpowiedź poniżej –

16

ta jest obsługiwana w najnowszej wersji redshifcie:

DROP TABLE [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ] 

IF EXISTS klauzuli, która wskazuje, że nie, jeśli określona tabela ma istnieje, polecenie powinno dokonać żadnych zmian i powrócić do wiadomości, że Tabela nie istnieje, zamiast kończyć się z błędem.

Ta klauzula jest przydatna podczas tworzenia skryptów, więc skrypt nie zawiedzie, jeśli DROP TABLE działa na nieistniejącą tabelę.

Zaczerpnięte z online AWS Redshift docs.

+1

Dobrze widzieć, że nadal pracują nad zgodnością z Pg. –

+2

To powinna być zaakceptowana odpowiedź. – Kerr

Powiązane problemy