开始编写和使用MySQL存储过程的先决条件是什么?
在开始编写和使用MySQL存储过程之前,我们必须具备以下先决条件−
阅读更多:MySQL 教程
MySQL版本
因为我们知道MySQL 5引入了存储过程,所以在开始编写和使用存储过程之前,首先我们需要检查MySQL的版本。可以使用以下查询来完成−
mysql> Select VERSION();
+-----------+
| VERSION() |
+-----------+
| 5.7.20 |
+-----------+
1 row in set (0.10 sec)
当前用户的权限
实际上,CREATE PROCEDURE和CREATE FUNCTION需要CREATE ROUTINE权限。默认情况下,MySQL会自动授予ALTER ROUTINE和EXECUTE权限给程序的创建者。可以通过禁用automatic_sp_privileges系统变量来更改此行为。可以使用以下查询检查当前用户的权限−
mysql> SHOW PRIVILEGES
选择一个数据库
在创建存储过程之前,我们必须选择一个可用的数据库。可以使用以下查询来完成−
mysql> USE query;
Database changed
从上面的查询中,可以看出我们正在使用名为’query’的数据库。
选择一个DELIMITER
分隔符是用于完成SQL语句的字符或字符字符串。默认情况下,我们使用分号(;)作为分隔符。但是,这会导致存储过程中出现问题,因为一个程序可能有很多语句,每个语句都必须以分号结束。因此,对于您的分隔符,请选择很少在语句或程序中出现的字符串。我们可以选择双反斜杠//或双美元符号 $ $ 或其他我们选择的分隔符。可以使用以下查询来完成−
mysql> DELIMITER // ;
现在,默认分隔符已更改为//符号,可以使用以下查询进行检查−
mysql> Select * from student_info //
+------+---------+------------+------------+
| id | Name | Address | Subject |
+------+---------+------------+------------+
| 100 | Aarav | Delhi | Computers |
| 101 | YashPal | Amritsar | History |
| 105 | Gaurav | Jaipur | Literature |
| 110 | Rahul | Chandigarh | History |
+------+---------+------------+------------+
4 rows in set (0.00 sec)