简体   繁体   English

如何总是从MySQL存储过程返回空结果集?

[英]How return empty resultset always from MySQL stored procedure?

I want to know How return empty resultset always from MySQL stored procedure, if there is any type error is raise on Procedure during data fetching. 我想知道如何从MySQL存储过程中总是返回空结果集,如果在数据获取期间过程中出现任何类型错误。

Thanks 谢谢

Inside your procedure, can use the ERROR HANDLER 在您的程序内部,可以使用ERROR HANDLER处理程序

CREATE PROCEDURE `procedure_namme`(OUT return_data TEXT)
BEGIN
    DECLARE v_error_code CHAR(5);
    DECLARE v_error_msg TEXT;    
    DECLARE EXIT HANDLER FOR SQLEXCEPTION
         BEGIN
         GET DIAGNOSTICS CONDITION 1
            v_error_code = RETURNED_SQLSTATE,
            v_error_msg = message_text;
            SET return_data = NULL; -- IF ERROR OCCUR THEN ITS SET NULL
            SELECT v_error_code,v_error_msg;
         END
         -- BODY WHAT YOU WANT TO WRITE(LOGIC)

 END;

To know more about it you can refer this one 要了解更多信息,可以参考这一篇
http://www.mysqltutorial.org/mysql-error-handling-in-stored-procedures/ http://www.mysqltutorial.org/mysql-error-handling-in-stored-procedures/

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM