MySQLにストアドプロシージャが存在するかどうかを確認するにはどうすればよいですか?
まず、ストアドプロシージャを作成しましょう-
mysql> DELIMITER // mysql> CREATE PROCEDURE ExtenddatesWithMonthdemo(IN date1 datetime, IN NumberOfMonth int ) -> BEGIN -> SELECT DATE_ADD(date1,INTERVAL NumberOfMonth MONTH) AS ExtendDate; -> END; -> // Query OK, 0 rows affected (0.20 sec) mysql> DELIMITER ;
次に、ヘルプSHOWCREATEコマンドを使用してストアドプロシージャが存在するかどうかを確認します。
クエリは次のとおりです-
mysql> SHOW CREATE PROCEDURE ExtenddatesWithMonthdemo; The following is the output displaying the details of the stored procedure we created above: +--------------------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------+----------------------+--------------------+ | Procedure | sql_mode | Create Procedure | character_set_client | collation_connection | Database Collation | +--------------------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------+----------------------+--------------------+ | ExtenddatesWithMonthdemo | STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION | CREATE DEFINER = `root`@`%` PROCEDURE `ExtenddatesWithMonthdemo`(IN date1 datetime, IN NumberOfMonth int ) BEGIN SELECT DATE_ADD(date1,INTERVAL NumberOfMonth MONTH) AS ExtendDate; END | utf8 | utf8_general_ci | utf8_general_ci | +--------------------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------+----------------------+--------------------+ 1 row in set (0.00 sec)
CALLコマンドを使用して、ストアード・プロシージャーを呼び出します。クエリは次のとおりです-
mysql> call ExtenddatesWithMonthdemo('2019-02-13',6);
出力
+---------------------+ | ExtendDate | +---------------------+ | 2019-08-13 00:00:00 | +---------------------+ 1 row in set (0.10 sec) Query OK, 0 rows affected (0.12 sec)
-
MySQLストアドプロシージャでDELIMITERを正しく使用するにはどうすればよいですか?
正しい方法は次のとおりです- DELIMITER // CREATE PROCEDURE yourStoredProcedureName() BEGIN IF yourCondition then yourStatement1 ; else yourStatement2 ; END IF ; END // DELIMITER ; ここで例を見て、ストアドプロシージャを作成しましょう- mysql> DELIMITER // mysql> CREATE PROCEDURE delimit
-
MySQLのバージョンを確認する方法
ユーザーが現在実行しているMySQLのバージョンを確認する方法を理解しましょう- コンソールでクエリを入力する前に、ユーザーがサーバーに接続していることを確認することが重要です。 MySQLのバージョンを確認する 以下のクエリは、使用されているサーバーのバージョン番号と現在の日付を示します。 mysql> SELECT VERSION(), CURRENT_DATE; 注: 関数「VERSION()」および「CURRENT_DATE」は大文字と小文字を区別しません。これは、「version()」、「Version()」、「vERsion()」を意味し、すべて同じ意味です。同じことが