导读:MySQL存储过程相互调用并获得错误码,演示如何在存储过程中调用另外一个存储过程,并获取执行的错误信息。
MySQL存储过程相互调用并获得错误码,演示如何在存储过程中调用另外一个存储过程,并获取执行的错误信息
复制代码代码如下:
- mysql>
- mysql> delimiter $$
- mysql>
- mysql> CREATE PROCEDURE myProc()
- -> MODIFIES SQL DATA
- -> BEGIN
- -> DECLARE l_status VARCHAR(20);
- ->
- -> CALL myProc1(l_status);
- -> IF l_status='Duplicate Entry' THEN
- -> SELECT CONCAT('Warning: using existing definition for location ') AS warning;
- -> END IF;
- -> END$$
- Query OK, 0 rows affected (0.00 sec)
-
- mysql>
- mysql> CREATE PROCEDURE myProc1(OUT out_status VARCHAR(30))
- -> BEGIN
- -> set out_status = 'Duplicate Entry';
- -> END$$
- Query OK, 0 rows affected (0.00 sec)
-
- mysql>
- mysql>
- mysql> delimiter ;
- mysql> call myProc();
- +--------------------------------------------------+
- | warning |
- +--------------------------------------------------+
- | Warning: using existing definition for location |
- +--------------------------------------------------+
- 1 row in set (0.00 sec)
-
- Query OK, 0 rows affected (0.01 sec)
-
- mysql> drop procedure myProc;
- Query OK, 0 rows affected (0.00 sec)
-
- mysql> drop procedure myProc1;
- Query OK, 0 rows affected (0.00 sec)
-
- mysql>
- mysql>