MySQL 如何在MySQL存储过程中调用另一个MySQL存储过程?

MySQL 如何在MySQL存储过程中调用另一个MySQL存储过程?

MySQL存储过程可以很容易地调用另一个MySQL存储过程。 为了演示这一点,我们将以一个示例为例,其中一个存储过程将调用另一个存储过程以找出last_insert_id。

阅读更多:MySQL 教程

例子

mysql> Create table employee.tbl(Id INT NOT NULL AUTO_INCREMENT, Name Varchar(30) NOT NULL, PRIMARY KEY(id))//
Query OK, 0 rows affected (3.87 sec)

mysql> Create Procedure insert1()
   -> BEGIN insert into employee.tbl(name) values ('Ram');
   -> END//
Query OK, 0 rows affected (0.10 sec)

现在,在下一个存储过程insert2()中,我们将调用第一个存储过程,即insert1()。

mysql> Create Procedure insert2()
   -> BEGIN
   -> CALL insert1();
   -> Select last_insert_id();
   -> END //
Query OK, 0 rows affected (0.11 sec)
mysql> Delimiter ;
mysql> Call insert2();
+------------------+
| last_insert_id() |
+------------------+
| 1                |
+------------------+
1 row in set (0.36 sec)
Query OK, 0 rows affected (0.37 sec)

上面的结果集显示,当我们调用insert1()时,它将第一个值插入名为employee.tbl的表中,当我们在第二个存储过程insert2()中选择last_insert_id()时,它会给出输出1。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程