【发布时间】:2013-12-08 19:21:09
【问题描述】:
Redshift 是否支持与以下等效的任何语句?
DROP TABLE IF EXISTS tablename
【问题讨论】:
标签: amazon-redshift
Redshift 是否支持与以下等效的任何语句?
DROP TABLE IF EXISTS tablename
【问题讨论】:
标签: amazon-redshift
最新版本的 Redshift 支持此功能:
DROP TABLE [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ]
IF EXISTS 子句表示如果指定的表不存在 存在,该命令不应进行任何更改并返回一条消息 该表不存在,而不是因错误而终止。
这个子句在编写脚本时很有用,所以脚本不会失败 DROP TABLE 针对不存在的表运行。
【讨论】:
查看下一个答案;这是过时的。
支持
DROP TABLE IF EXISTS tablename;
在 PostgreSQL 8.2 中添加。 Redshift 是 ParAccel 对 8.1 进行了重大修改的分支,据我所知,他们从新版本中向后移植了很少的更改。不太可能支持IF EXISTS;您可能需要进行目录查询,通过查找information_schema 来确定表是否存在,然后根据结果决定是否创建它。
【讨论】: