この投稿では、SQL Server – 2016 –T-SQLの機能強化「DropifExists」句で、SQLServerバージョン2016で導入された新機能を確認しました。最近の友人の1人存在する場合はテーブルを削除する方法について質問されました MySQLデータベースで?この機能の存在を知っている人があまりいないのは当然のことです。 MySQLにはすでにしばらくの間この機能があり、MySQL DBAの場合は、SQLServerがこの機能を導入したばかりであることが興味深いかもしれません。
この例を実際に見てみましょう。まず、サンプルテーブルを作成します。
CREATE TABLE test(id INT,name VARCHAR(100));
テーブルの上にドロップする必要がある場合は、次のスクリプトを実行してドロップできます。
DROP TABLE IF EXISTS test;
上記のスクリプトは、testという名前のテーブルが存在する場合は削除します。存在しない場合は、エラーではなく警告を表示します。これはエラーを表示していないため、コード内の警告を簡単に回避できることを理解するために非常に重要です。これは、事前にテーブルの存在がわからない場合に役立ちます。
テーブルだけでなく、MySQLにも同様の機能がストアドプロシージャで利用できます。同じものの簡単な例を見てみましょう。
これは、ストアドプロシージャを作成するために使用できるスクリプトです。
CREATE PROCEDURE test_proc AS BEGIN SELECT 1 AS number; END;
上記の手順を作成したら、次のスクリプトを使用して削除できます。
DROP PROCEDURE IF EXISTS test_proc;
テーブルと同様に、ストアドプロシージャが存在する場合はドロップし、存在しない場合は警告を返すことを忘れないでください。 MySQLがすでにこの機能をしばらく持っているのを見るのは本当に興味深いですが、SQLServerは今年この機能を導入したばかりです。