プロシージャを削除する
この最後のステップでは、データベースからストアドプロシージャを削除(ドロップ)する方法を学びます。プロシージャを削除すると、データベースから削除され、実行できなくなります。
リマインダー: まだ MySQL シェルにいて、testdb データベースを使用しているはずです。
DROP PROCEDURE ステートメントは、ストアドプロシージャを削除するために使用されます。構文は次のとおりです。
DROP PROCEDURE [IF EXISTS] procedure_name;
IF EXISTS 句はオプションですが、推奨されます。これにより、プロシージャが存在しない場合にエラーが発生するのを防ぐことができます。
この場合、プロシージャ名は insert_employee です。プロシージャを削除しましょう。
DROP PROCEDURE IF EXISTS insert_employee;
このステートメントは、testdb データベースから insert_employee プロシージャを削除します。
プロシージャが削除されたことを確認するには、MySQL シェルでプロシージャのステータスを再度表示してみてください。
SHOW PROCEDURE STATUS WHERE db = 'testdb' AND name = 'insert_employee';
このコマンドは空の結果セットを返すはずです。これは、プロシージャが存在しなくなったことを示しています。
または、プロシージャを呼び出そうとするとエラーが発生します。
CALL insert_employee('Test', 'Test', 1000);
これにより、ERROR 1305 (42000): PROCEDURE testdb.insert_employee does not exist のようなエラーメッセージが表示されます。
これで、ストアドプロシージャ insert_employee を正常に削除しました。
これで、MySQL シェルを終了するには、次のように入力します。
exit
これで、MySQL でストアドプロシージャを作成、呼び出し、変更、および削除する実験演習は終了です。