【问题标题】:Amazon Redshift : drop table if existsAmazon Redshift:删除表(如果存在)
【发布时间】:2013-12-08 19:21:09
【问题描述】:

Redshift 是否支持与以下等效的任何语句?

DROP TABLE IF EXISTS tablename

【问题讨论】:

    标签: amazon-redshift


    【解决方案1】:

    最新版本的 Redshift 支持此功能:

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

    IF EXISTS 子句表示如果指定的表不存在 存在,该命令不应进行任何更改并返回一条消息 该表不存在,而不是因错误而终止。

    这个子句在编写脚本时很有用,所以脚本不会失败 DROP TABLE 针对不存在的表运行。

    取自online AWS Redshift docs

    【讨论】:

      【解决方案2】:

      查看下一个答案;这是过时的


      支持

      DROP TABLE IF EXISTS tablename;
      

      在 PostgreSQL 8.2 中添加。 Redshift 是 ParAccel 对 8.1 进行了重大修改的分支,据我所知,他们从新版本中向后移植了很少的更改。不太可能支持IF EXISTS;您可能需要进行目录查询,通过查找information_schema 来确定表是否存在,然后根据结果决定是否创建它。

      【讨论】:

      • 支持此功能,请看下面我的回答
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-06
      • 1970-01-01
      • 2018-12-18
      • 2021-03-14
      • 2011-11-07
      相关资源
      最近更新 更多