什么是存储过程?如何创建MySQL存储过程?

在常规计算语言的上下文中,存储过程可以定义为子例程,例如存储在数据库中的子程序。在MySQL的上下文中,它是存储在数据库目录中的声明性SQL语句的一部分。在MySQL中编写存储过程之前,我们必须必须检查版本,因为MySQL 5引入了存储过程。以下是创建存储过程的语法-

语法

CREATE [DEFINER = { user | CURRENT_USER }]
PROCEDURE sp_name ([proc_parameter[,...]])
[characteristic ...] routine_body
proc_parameter: [ IN | OUT | INOUT ] param_name type
type:
Any valid MySQL data type
characteristic:
COMMENT 'string'
| LANGUAGE SQL
| [NOT] DETERMINISTIC
| { CONTAINS SQL | NO SQL | READS SQL DATA
| MODIFIES SQL DATA }
| SQL SECURITY { DEFINER | INVOKER }
routine_body:
Valid SQL routine statement

示例

以下是一个示例,其中我们创建了一个简单的过程来从表“ student_info”中获取所有记录,这些记录包含以下数据:

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)

现在,在以下查询的帮助下,我们创建了名为 allrecords()

mysql> Delimiter //
mysql> Create Procedure allrecords()    -> BEGIN
    -> Select * from Student_info;
    -> END//
mysql> DELIMITER ;
猜你喜欢