Stored procedure có thể gọi stored procedure khác (nested call). Ví dụ: thủ tục insert2() gọi insert1() để chèn dữ liệu rồi lấy 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)
mysql> CREATE PROCEDURE insert2()
-> BEGIN
-> CALL insert1();
-> SELECT LAST_INSERT_ID();
-> END //
Query OK, 0 rows affected (0.11 sec)
Gọi thủ tục ngoài:
mysql> DELIMITER ; mysql> CALL insert2(); +------------------+ | LAST_INSERT_ID() | +------------------+ | 1 | +------------------+
insert1() chèn dòng đầu tiên (id=1), insert2() gọi nó và lấy LAST_INSERT_ID() = 1.