2016-12-13 82 views
0

我創建了一個簡單的存儲過程以將值插入到dbc.AlertREquest表中。Teradata存儲過程插入數據示例

是否需要編寫任何異常處理邏輯,以便將值簡單插入表中。

我的意思是我需要寫插入數據的異常處理不成功。在那種情況下,我需要寫什麼樣的SQLSTATE。

請讓我知道。

請參閱下面的示例代碼。

REPLACE PROCEDURE XXXXXXXXX.ALERT_REQUEST_INSERT(IN p_JobName character(60), 
                                     IN p_JobDescription character(120), 
                                     IN p_ActionDestination character(120), 
                                     IN p_JobFullMessage character(600)) 
BEGIN 
    INSERT INTO dbcmngr.AlertRequest 
        ( 
         AlertRequest.ReqDate, 
         AlertRequest.ReqTime, 
         AlertRequest.JobName, 
         AlertRequest.Description, 
         AlertRequest.EventValue, 
         AlertRequest.ActionCode, 
         AlertRequest.RepeatPeriod, 
         AlertRequest.Destination, 
         AlertRequest.Message 
        ) 
     VALUES  
        (
         DATE, 
         TIME, 
         : p_JobName, 
         : p_JobDescription, 
         0, 
         '+', 
         0, 
         : p_ActionDestination, 
         : p_JobFullMessage 
       ); 
    END;      

回答

0
BEGIN 
    DECLARE EXIT HANDLER FOR SQLEXCEPTION 
    BEGIN 
    insert into your_trace_table(message) values (:SQLSTATE); 
    END; 
    -- your insert goes here 
END;