Maison >base de données >tutoriel mysql >Comment une procédure stockée MySQL appelle-t-elle une autre procédure stockée MySQL à l'intérieur ?

Comment une procédure stockée MySQL appelle-t-elle une autre procédure stockée MySQL à l'intérieur ?

王林
王林avant
2023-09-05 08:45:121215parcourir

Comment une procédure stockée MySQL appelle-t-elle une autre procédure stockée MySQL à lintérieur ?

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.

Exemple

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer