2013-05-10 29 views
0

我有一個存儲過程,而操縱它也使用兩個表:執行退出處理特定表

DECLARE EXIT HANDLER FOR 1062 
BEGIN 
    ... 
END; 

我的問題是,我想退出處理程序趕上重複只有一個表,就是可能?

謝謝 凱特

+0

我不認爲你可以:HTTP:/ /dev.mysql.com/doc/refman/5.0/en/declare-handler.html這裏它說你只能管理sql狀態的處理程序 – Sebas 2013-05-10 22:28:08

+0

Sebas,再次感謝:)基於MySQL文檔,我發現封裝HANDLER解決了問題。 – Kate 2013-05-10 22:42:55

回答

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;