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

发布于 2022-09-30 11:50:31 字数 2080 浏览 14 评论 0

  1. mysql>
  2. mysql> delimiter $$
  3. mysql>
  4. mysql> CREATE PROCEDURE myProc()
  5.     ->      MODIFIES SQL DATA
  6.     -> BEGIN
  7.     ->      DECLARE l_status VARCHAR(20);
  8.     ->
  9.     ->     CALL myProc1(l_status);
  10.     ->        IF l_status='Duplicate Entry' THEN
  11.     ->               SELECT CONCAT('Warning: using existing definition for location ') AS warning;
  12.     ->      END IF;
  13.     -> END$$
  14. Query OK, 0 rows affected (0.00 sec)
  15. mysql>
  16. mysql> CREATE PROCEDURE myProc1(OUT out_status VARCHAR(30))
  17.     -> BEGIN
  18.     ->    set out_status = 'Duplicate Entry';
  19.     -> END$$
  20. Query OK, 0 rows affected (0.00 sec)
  21. mysql>
  22. mysql>
  23. mysql> delimiter ;
  24. mysql> call myProc();
  25. +--------------------------------------------------+
  26. | warning                                          |
  27. +--------------------------------------------------+
  28. | Warning: using existing definition for location  |
  29. +--------------------------------------------------+
  30. 1 row in set (0.00 sec)
  31. Query OK, 0 rows affected (0.01 sec)
  32. mysql> drop procedure myProc;
  33. Query OK, 0 rows affected (0.00 sec)
  34. mysql> drop procedure myProc1;
  35. Query OK, 0 rows affected (0.00 sec)
  36. mysql>
  37. mysql>

复制代码

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文