MySQLでストアドプロシージャ/関数の定義を表示しますか?
MySQLでストアドプロシージャ/関数の定義を表示するには、showコマンドを使用できます。構文は次のとおりです-
SHOW CREATE PROCEDURE yourProcedureName;
上記の構文を理解するために、プロシージャを作成してその定義を確認できます。ストアドプロシージャを作成しましょう-
mysql> delimiter // mysql> create procedure AllRecords() -> begin -> select *from student; -> end // Query OK, 0 rows affected (0.24 sec)
callコマンドを使用して、ストアード・プロシージャーを呼び出すことができます。クエリは次のとおりです-
mysql> delimiter ; mysql> call AllRecords();
以下は出力です-
+------+-------+ | id | Name | +------+-------+ | 1 | John | | 2 | Bob | | 3 | Smith | | 6 | John | +------+-------+ 4 rows in set (0.14 sec) Query OK, 0 rows affected (0.18 sec)
これで、最初に説明した上記の構文を使用して定義を確認できます。クエリは次のとおりです-
mysql> show create procedure AllRecords;
これが出力です-
+------------+--------------------------------------------+-----------------------------------------------------------------------+----------------------+----------------------+--------------------+ | Procedure | sql_mode | Create Procedure | character_set_client | collation_connection | Database Collation | +------------+--------------------------------------------+-----------------------------------------------------------------------+----------------------+----------------------+--------------------+ | AllRecords | STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION | CREATE DEFINER=`root`@`%` PROCEDURE `AllRecords`() begin select *from student;end | utf8 | utf8_general_ci | utf8mb4_unicode_ci | +------------+--------------------------------------------+-----------------------------------------------------------------------+----------------------+----------------------+--------------------+ 1 row in set (0.00 sec)
MySQLで関数定義を確認するには、プロシージャの代わりに関数を使用できます。構文は次のとおりです。−
SHOW CREATE FUNCTION yourFunctionName;
-
MySQLストアドプロシージャで数学演算を実行しますか?
ストアドプロシージャを作成しましょう。ここでは、量*量を計算しています。つまり、数学演算を実装しています- mysql> delimiter // mysql> create procedure calculation_proc(amount int,quantity int) begin select amount,quantity,(amount*quantity) as Total; end // Query OK,
-
MySQLストアドプロシージャのテーブルにデータを挿入しますか?
ストアドプロシージャのテーブルに挿入するための構文は次のとおりです- create procedure yourProcedureName(OptionalParameter) begin insert into yourTableName() values(yourValue1,yourValue2,...N); end 上記の構文を理解するために、最初にテーブルを作成しましょう- mysql> create table DemoTable1928 ( Id int NOT NUL