MySQL Workbenchでストアドプロシージャを作成・実行する方法
MySQL Workbenchでストアドプロシージャを作成する手順
まずは、ストアドプロシージャを作成してみましょう。以下は、MySQL Workbenchを使用してストアドプロシージャを作成するためのクエリ例です。
use business; DELIMITER // DROP PROCEDURE IF EXISTS SP_GETMESSAGE; CREATE PROCEDURE SP_GETMESSAGE() BEGIN DECLARE MESSAGE VARCHAR(100); SET MESSAGE="HELLO"; SELECT CONCAT(MESSAGE,' ','MYSQL!!!!'); END // DELIMITER ;
ポイント: DELIMITER // は、文の区切り文字を一時的に「;」から「//」へ変更するコマンドです。これにより、プロシージャ内部のセミコロンが文の終了として誤って解釈されるのを防ぎます。プロシージャの定義が完了したら、DELIMITER ; で元の区切り文字に戻します。
MySQL Workbench上でのストアドプロシージャの作成画面は、以下のスクリーンショットのようになります。

ストアドプロシージャの実行方法
作成したストアドプロシージャを実行するには、下のスクリーンショットに示されている稲妻マーク(実行アイコン)をクリックします。

CALLコマンドでストアドプロシージャを呼び出す
ストアドプロシージャが作成できたら、CALL コマンドを使用して呼び出すことができます。
call SP_GETMESSAGE();
Workbenchでの入力例は以下のスクリーンショットの通りです。

このステートメントも、先ほどと同じ実行アイコンを使って実行します。すると、次のような出力結果が得られます。

このように、MySQL Workbenchを使えば、ストアドプロシージャの作成から実行、結果の確認までをGUI上でスムーズに行うことができます。ぜひ実際に試してみてください。
-
MySQLのDECLAREで変数を宣言する方法|ストアドプロシージャでの使い方を解説
MySQLでは、DECLAREステートメントを使ってローカル変数を宣言できます。ただし、DECLAREが使用できるのはストアドプロシージャ(またはファンクション)の中だけという点に注意が必要です。通常のSQL文として単独で実行することはできません。DECLAREの基本構文DECLAREの基本的な書き方は以下の通りです。declare 変数名 データ型;宣言した変数には、後述するSET文などで値を代入して使用します。なお、DECLAREはBEGIN〜ENDブロックの先頭に記述する必要がある点も押さえておきましょう。サンプル:ストアドプロシージャで変数を使ってみるそれでは、実際にDECLAREを使
-
MySQLストアドプロシージャでSHOW CREATE TABLEを実行する方法
MySQLストアドプロシージャでSHOW CREATE TABLEを実行する方法 ストアドプロシージャの中でSHOW CREATE TABLEを実行したい場合は、動的SQL(プリペアドステートメント)を利用します。SHOW系のコマンドはプロシージャ内に直接記述できないため、SQL文を文字列として組み立てて実行するのがポイントです。 まずはサンプル用のテーブルを作成しましょう。 mysql> create table DemoTable2011 -> ( -> StudentId int NOT NULL AUTO_INCREMENT, -> St