开始编写和使用 MySQL 存储过程的先决条件是什么?

mysqlmysqli database更新于 2024/3/14 10:17:00

在开始编写和使用 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)

相关文章