複数のプロシージャを呼び出すMySQLプロシージャ?
まず、ストアドプロシージャから複数のプロシージャを呼び出している構文を見てみましょう-
DELIMITER // CREATE PROCEDURE yourProcedureName() BEGIN CALL yourStoredProcedureName1(); CALL yourStoredProcedureName2(); . . N END // DELIMITER //
上記の構文を実装して、複数のストアドプロシージャを呼び出しましょう。
以下は、最初のストアドプロシージャを作成するためのクエリです-
mysql> DELIMITER // mysql> CREATE PROCEDURE hello_message() -> BEGIN -> SELECT 'HELLO WORLD !!'; -> END -> // Query OK, 0 rows affected (0.19 sec)
2番目のストアドプロシージャを作成するためのクエリは次のとおりです-
mysql> CREATE PROCEDURE hi_message() -> BEGIN -> SELECT 'HI !!!!'; -> END -> // Query OK, 0 rows affected (0.11 sec) mysql> DELIMITER ;
これは、複数のストアドプロシージャを呼び出すための新しいプロシージャを作成するためのクエリです-
mysql> DELIMITER // mysql> CREATE PROCEDURE call_all_stored_procedure() -> BEGIN -> CALL hello_message(); -> CALL hi_message(); -> END -> // Query OK, 0 rows affected (0.26 sec) mysql> DELIMITER ;
これで、メインのストアドプロシージャを呼び出すことができます-
mysql> call call_all_stored_procedure();
これにより、次の出力が生成されます-
+----------------+ | HELLO WORLD !! | +----------------+ | HELLO WORLD !! | +----------------+ 1 row in set (0.06 sec) +---------+ | HI !!!! | +---------+ | HI !!!! | +---------+ 1 row in set (0.06 sec) Query OK, 0 rows affected (0.08 sec)
-
MySQL Workbenchを使用してストアドプロシージャを作成しますか?
まず、ストアドプロシージャを作成しましょう。以下は、MySQLWorkbenchを使用してストアドプロシージャを作成するためのクエリです。 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 //
-
MySQLストアドプロシージャでNULLまたは空の変数を確認します
NULLまたは空の変数をチェックするには、IF条件を使用します。ストアドプロシージャを作成しましょう- mysql> delimiter // mysql> create procedure checkingForNullDemo(Name varchar(20)) begin if Name is NULL OR Name='' then select 'Adam Smith'; else