Redshift は、以下に相当するステートメントをサポートしていますか?
DROP TABLE IF EXISTS tablename
これは、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
、その結果に基づいて作成するかどうかを決定する必要があります。