开始编写和使用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)
猜你喜欢