为特定表执行EXIT HANDLER

时间:2013-05-10 22:24:45

标签: mysql

我有一个存储过程,它操作两个表,它们也使用:

DECLARE EXIT HANDLER FOR 1062 
BEGIN 
    ...
END;

我的问题是我希望EXIT HANDLER只捕获其中一个表的重复项,这可能吗?

谢谢你, 凯特

1 个答案:

答案 0 :(得分:2)

我不确定这是否合适,但我找到了可行的方法......

CREATE PROCEDURE some_procedure (IN some_id INT(11))
BEGIN

    INSERT INTO table1 ...

    SPROC:
    BEGIN

        DECLARE EXIT HANDLER FOR 1062 
        BEGIN 
            /* manage duplicate error for table2 */
        END;

        INSERT INTO table2 ...

    END;
END;