MySQL存储过程相互调用并获得错误码示例

MySQLHD 2019-04-08

代码如下:

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>

相关推荐