Une procédure stockée MySQL peut très probablement appeler une autre procédure stockée MySQL à l'intérieur. Pour démontrer cela, prenons un exemple dans lequel une procédure stockée appellera une autre procédure stockée pour connaître 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)
Maintenant, dans la procédure suivante, insert2(), nous appellerons la première procédure stockée, qui est 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)
Le résultat ci-dessus montre que lorsque nous appelons insert1(), il insère la première valeur dans la table nommée employe.tbl, et lorsque nous appelons insert2() dans la deuxième procédure stockée. Lorsque last_insert_id() est sélectionné, cela donne sortie 1.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!