เป็นไปได้ที่ MySQL Stored Procedure จะเรียก MySQL Stored Procedure อีกตัวหนึ่งภายในได้ เพื่อสาธิต เราใช้ตัวอย่างที่ Stored Procedure หนึ่งจะเรียก Stored Procedure อีกตัวเพื่อหา 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)
ตอนนี้ ใน Procedure ถัดไปคือ insert2() เราจะเรียก Stored Procedure ตัวแรกคือ 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 และเมื่อเรา select last_insert_id() ใน Stored Procedure ตัวที่ 2 คือ insert2() มันให้ผลลัพธ์ 1