2013-06-27 63 views

回答

0

這工作,但似乎明確警告,這是不是很大:

CREATE PROCEDURE foo 
BEGIN 
    DECLARE EXIT HANDLER FOR SQLWARNING 
    SET @exiting=1 -- any statement will work here 
    ; 

    A; 
    B; 
    C; 
    D; 
END// 
3

您可以爲您的過程提供一個標籤名稱,並從該代碼調用該標籤上的LEAVE命令。

CREATE PROCEDURE foo 
myLabelName:BEGIN 
    A; 
    B; 
    C; 
    D; 
    If D is null 
    Then Select 'Exiting at D'; 
    LEAVE myLabelName; 
    End If 
    E; 
END// 
+0

OK,這就是我離開,但我怎麼告訴命令d是否產生警告? – rampion

+0

取決於您爲該步驟所做的事情。你可以創建一個布爾標誌來追蹤出錯的地方。你期望什麼失敗? – StaticVoid

+0

我正在使用LOAD DATA INFILE,並且想要退出,如果有任何行生成警告。 – rampion