17

Redshift は、以下に相当するステートメントをサポートしていますか?

DROP TABLE IF EXISTS tablename
4

2 に答える 2

27

これは、Redshift の最新バージョンでサポートされています。

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

IF EXISTS 指定されたテーブルが存在しない場合、コマンドはエラーで終了するのではなく、何も変更せず、テーブルが存在しないというメッセージを返す必要があることを示す句。

この句はスクリプト作成時に役立つため、DROP TABLE が存在しないテーブルに対して実行されてもスクリプトは失敗しません。

オンラインの AWS Redshift ドキュメントから取得。

于 2014-10-29T00:54:22.213 に答える
19

次の回答を参照してください。これは古くなっています


へのサポート

DROP TABLE IF EXISTS tablename;

PostgreSQL 8.2 で追加されました。Redshift は、ParAccel によって大幅に変更された 8.1 のフォークであり、私が知る限り、新しいバージョンからの変更はほとんどバックポートされていません。をサポートする可能性はほとんどありませんIF EXISTS。を検索してテーブルが存在するかどうかを判断するには、おそらくカタログ クエリを実行しinformation_schema、その結果に基づいて作成するかどうかを決定する必要があります。

于 2013-11-24T01:40:44.487 に答える