MySQL 存储过程如何在内部调用另一个 MySQL 存储过程?
MySQL 存储过程在内部调用另一个 MySQL 存储过程是完全可能的。为了展示这一点,我们以一个示例来演示,其中一个存储过程将调用另一个存储过程来查找 last_insert_id。
示例
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。
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
安卓
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP