2013-11-24 23 views

回答

11

查看下一个答案;这是过时的。 PostgreSQL中8.2的溶液中加入


支持

DROP TABLE IF EXISTS tablename; 

。 Redshift是ParAccel 8.1版本的一个非常重要的修改分支,据我所知,它们已经从新版本向后移植了很少的变化。它不太可能支持IF EXISTS;您可能需要执行目录查询以通过查找information_schema来确定该表是否存在,然后根据结果决定是否创建该表。

+0

此功能支持,请参阅我的回答 –

16

这是支持红移的最新版本:

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

IF EXISTS子句表明,如果在指定的表不存在 ,命令应该不做任何更改,并返回一个消息 该表不存在,而不是以错误终止。

该子句在编写脚本时非常有用,因此如果 DROP TABLE针对不存在的表运行,则该脚本不会失败。

摘自online AWS Redshift docs

+1

很高兴看到他们仍在与Pg兼容。 –

+2

这应该是被接受的答案。 – Kerr