LOG ステートメントは、レコードをイベント・ログまたはユーザー・トレースに書き込むために使用します。
>>-LOG--+-EVENT-------+--+---------------------+--+---------+--+------------------------------+->< '-USER--TRACE-' '-+------+--EXCEPTION-' '-Options-' | .-,----------. | '-FULL-' | V | | '-VALUES--(----Expression-+--)-' WHERE |--Options =--+----------------------+--+---------------------+--+---------------------+--| '-SEVERITY--Expression-' '-CATALOG--Expression-' '-MESSAGE--Expression-'
例外について詳しくは、エラーおよび例外処理を参照してください。
MESSAGE を省略する場合、その値はデフォルトにより、WebSphere Message Brokerカタログ中の、LOG および THROW ステートメントにより使用するよう指定されたメッセージ・ブロック中の最初のメッセージ番号 (2951) になります。 メッセージ番号を指定する場合、メッセージ番号 2951 から 2999 が使用できます。 あるいは、独自のカタログを生成することもできます。
一般的に LOG ステートメントは THROW ステートメントに似ていることに注意してください。
-- Write a message to the event log specifying the severity, catalog and message
-- number. Four inserts are provided
LOG EVENT SEVERITY 1 CATALOG 'BIPmsgs' MESSAGE 2951 VALUES(1,2,3,4);
-- Write to the trace log whenever a divide by zero occurs
BEGIN
DECLARE a INT 42;
DECLARE b INT 0;
DECLARE r INT;
BEGIN
DECLARE EXIT HANDLER FOR SQLSTATE LIKE 'S22012' BEGIN
LOG USER TRACE EXCEPTION VALUES(SQLSTATE, 'DivideByZero');
SET r = 0x7FFFFFFFFFFFFFFFF;
END;
SET r = a / b;
END;
SET OutputRoot.XMLNS.Data.Result = r;
END;