开始编写和使用 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”的数据库。
选择分隔符
分隔符是用于完成 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)
广告