MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

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;

  1. MySQLストアドプロシージャで数学演算を実行しますか?

    ストアドプロシージャを作成しましょう。ここでは、量*量を計算しています。つまり、数学演算を実装しています- mysql> delimiter // mysql> create procedure calculation_proc(amount int,quantity int)      begin      select amount,quantity,(amount*quantity) as Total;      end      // Query OK,

  2. MySQLストアドプロシージャのテーブルにデータを挿入しますか?

    ストアドプロシージャのテーブルに挿入するための構文は次のとおりです- create procedure yourProcedureName(OptionalParameter)    begin    insert into yourTableName() values(yourValue1,yourValue2,...N); end 上記の構文を理解するために、最初にテーブルを作成しましょう- mysql> create table DemoTable1928    (    Id int NOT NUL