2016-12-13 21 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; 
関連する問題