一個 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。
以上就是一個MySQL存儲過程如何調用它內部的另一個MySQL存儲過程?的詳細內容,更多請關注www.92cms.cn其它相關文章!