在存储过程中,更新表的时候,有可能因为某些原因更新不成功。故现在想把这些错误信息记录到自己定义,比如error_log(error_id,error_sql,error_message)
    DELIMITER $$DROP PROCEDURE IF EXISTS `CallCentre`.`checkerror`$$CREATE DEFINER=`edmond`@`%` PROCEDURE `checkerror`()
BEGIN
-- 定义错误处理机制
    declare exit Handler for SQLWARNING,SQLEXCEPTION 
     insert into error_log(error_id,error_sql,error_message) values(?,?,?);
    select * from error;
    END$$DELIMITER ;   请教一下各位,如果获取相关错误的error_id,error_sql,error_message的信息。谢谢。

解决方案 »

  1.   

    存储过程中难,如果是在C 中还可以。能想到的方法,就是把错误日志同时写到表中(可以通过log_output=FILE/TABEL)然后通过error_count的判断后立即到表中去取数据。但log_output=table会影响性能。
      

  2.   

    这种方法在oracle数据库中是可以实现的。