Redshift supporta qualsiasi istruzione equivalente al seguente?Amazon Redshift: se esiste una tabella drop
DROP TABLE IF EXISTS tablename
Redshift supporta qualsiasi istruzione equivalente al seguente?Amazon Redshift: se esiste una tabella drop
DROP TABLE IF EXISTS tablename
Vedere la risposta successiva; questo è scaduto.
Supporto per
DROP TABLE IF EXISTS tablename;
è stato aggiunto in PostgreSQL 8.2. Redshift è un fork 8.1 molto modificato di ParAccel e, per quanto ne so, ha sostituito molto poche modifiche dalle nuove versioni. È molto improbabile che supporti IF EXISTS
; probabilmente è necessario eseguire una query di catalogo per determinare se la tabella esiste, cercando information_schema
, quindi decidere se la si creerà in base al risultato.
Questo è supportato nella versione più recente di Redshift:
DROP TABLE [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ]
SE ESISTE clausola che indica che non se la tabella specificata non esiste , il comando dovrebbe fare nessuna modifica e restituire un messaggio che la tabella non esiste, piuttosto che terminare con un errore.
Questa clausola è utile quando si esegue lo scripting, quindi lo script non fallisce se DROP TABLE viene eseguito su una tabella inesistente.
Preso da online AWS Redshift docs.
È bello vedere che stanno ancora lavorando sulla compatibilità con Pg. –
Questa dovrebbe essere la risposta accettata. – Kerr
Questa funzione è supportata, vedere la mia risposta sotto –