Home > Database > Mysql Tutorial > body text

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

WBOY
Release: 2016-06-07 14:54:26
Original
1468 people have browsed it

演示如何在存储过程中调用另外一个存储过程,并获取执行的错误信息 MySQL mysqlmysql delimiter $$mysqlmysql CREATE PROCEDURE myProc() - MODIFIES SQL DATA - BEGIN - DECLARE l_status VARCHAR(20); - - CALL myProc1(l_status); - IF l_status='Duplicat

演示如何在存储过程中调用另外一个存储过程,并获取执行的错误信息
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>
Copy after login
Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template