ホームページ > データベース > mysql チュートリアル > mysqlのスケジュールストアドプロシージャとは何ですか?使い方?

mysqlのスケジュールストアドプロシージャとは何ですか?使い方?

PHPz
リリース: 2023-04-20 10:53:58
オリジナル
870 人が閲覧しました

MySQL スケジュール ストアド プロシージャ: 時間を節約し、効率を向上させます

MySQL は、さまざまなアプリケーションや Web サイトで広く使用されている強力なリレーショナル データベースです。ストアド プロシージャは、MySQL を使用する場合に非常に重要な機能です。これは事前定義された操作を実行するために使用され、SQL ステートメント、フロー制御、その他の計算ロジックを含めることができます。スケジュールされたストアド プロシージャも MySQL の一般的なソリューションであり、時間を節約し効率を向上させることができます。

MySQL スケジュール ストアド プロシージャとは何ですか?

MySQL スケジュール ストアド プロシージャは、特定の時間間隔内で指定された操作を自動的に実行するために使用されるスケジュールされたタスクです。これらは、指定された期間内に自動的に実行できる、事前定義された SQL ステートメントのコレクションです。スケジュールされたストアド プロシージャを通じて、次のようなさまざまな使用例を実現できます。

  • データベースの自動バックアップ: データの誤用やデータ損失を回避します。
  • メールを自動的に送信: 毎日のお知らせ、ニュースの概要などのコンテンツを含むメールを送信します。
  • データを自動的に計算して更新します。たとえば、販売データを定期的に計算して販売傾向を判断し、タイムリーに需要を予測します。
  • 指定した期間中のデータを自動的に管理します。期限切れのデータを定期的に削除したり、ユーザー アカウントのロックを解除したりします。

MySQL イベントを使用して同様のタスクを実行することもできますが、ストアド プロシージャの方がより柔軟なソリューションです。データテーブル内のデータにアクセスし、必要に応じてデータを更新または削除できます。

MySQL のスケジュールされたストアド プロシージャを作成するにはどうすればよいですか?

MySQL スケジュールされたストアド プロシージャを作成するには、次の手順に従う必要があります。

  1. ストアド プロシージャを作成する

CREATE PROCEDURE ステートメントを使用して、ストアド プロシージャを作成します。ストアド プロシージャの定義には、入力パラメータと出力パラメータ、SQL ステートメントを実行するための操作、およびその他の必要な条件を含める必要があります。

例:

CREATE PROCEDURE プロシージャ名(IN 入力 1 VARCHAR(20), OUT 出力 1 VARCHAR(50))
BEGIN
-- データを挿入または更新する SQL ステートメント
END

ここで、ストアド プロシージャの名前はprocedure_nameで、入力パラメータinput1と出力パラメータoutput1が含まれています。

  1. 計画タスクの指定

計画タスクを指定するには、CREATE EVENT ステートメントを使用できます。このステートメントには、実行開始時刻、間隔、実行アクションなど、スケジュールされた特定のタスクの詳細を含める必要があります。

例:

CREATE EVENT イベント名
ON SCHEDULE EVERY 1 DAY STARTS '2022-01-01 00:00:00'
DO CALL プロシージャ名('input1', @ Output1);

ここでは、スケジュールされたタスクの名前は「event_name」です。このタスクは、指定された日時 2022-01-01 00:00:00 から毎日 1 回実行されます。このコマンドはストアド プロシージャを使用し、それにパラメータ「input1」を渡します。出力 GUI 変数にどのように設定されるかに注目してください。つまり、@output1 を使用すると、実行中に変数が MySQL によって生成されることを区別するために @ 記号が使用されます。

  1. イベントを有効にする

ALTER EVENT ステートメントを使用すると、イベントを開始できます。

例:

ALTER EVENTevent_name ON;

  1. イベント スケジューラを開始します

スケジュールされたタスクを正常に作成した後、次のことを行う必要があります。イベントは定期的に実行されるようにスケジュールされます。

例:

SET GLOBALevent_scheduler = ON;

ここで、「ON」はスケジューラを起動するために使用されます。

概要

MySQL では、スケジュールされたストアド プロシージャは、さまざまな操作を自動的に実行し、時間を節約し、効率を向上させるのに役立つ非常に便利な機能です。いくつかの追加のセットアップと構成が必要ですが、正しく構成されれば、時間の経過とともに製品がよりスマートで、より効率的で、より堅牢になります。

以上がmysqlのスケジュールストアドプロシージャとは何ですか?使い方?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート