PostgreSQLでは、IF EXISTS
を使用できます DROP TABLE
の句 テーブルを削除する前に、テーブルが存在するかどうかを確認するステートメント。
例
デモンストレーションの例を次に示します。
DROP TABLE IF EXISTS t1;
そのステートメントは、t1
というテーブルを削除します 存在する場合。
Azure Data Studio(Postgres拡張機能を使用)でそのステートメントを実行したとき、テーブルは既に存在していたため、テーブルが削除され、次のメッセージが表示されました:
Commands completed successfully
ステートメントを再度実行すると(すでに削除された後)、次のメッセージが表示されました:
NOTICE: table "t1" does not exist, skipping Commands completed successfully
エラーは発生しませんでしたが、コマンドが正常に完了したというメッセージとともに、テーブルが存在しないという「通知」を受け取りました。
IF EXISTS
を使用しない場合は次のようになります :
DROP TABLE t1;
結果:
table "t1" does not exist
今回は、テーブルが存在しないというエラーが表示されます。
テーブルを削除せずにテーブルが存在するかどうかを確認したいだけの場合は、PostgreSQLにテーブルが存在するかどうかを確認する5つの方法も参照してください。