DB2登录存储过程

um6iljoc  于 2023-02-16  发布在  DB2
关注(0)|答案(1)|浏览(170)

是否可以在存储过程中以特定模式(如debug或info)创建日志输出?我只知道只知道cmd DBMS_OUTPUT.PUT_LINE。但我需要它与日志级别的规范。

eyh26e7m

eyh26e7m1#

--#SET TERMINATOR @
CREATE TABLE LOG (TS TIMESTAMP NOT NULL, MSG VARCHAR (100))@

CREATE OR REPLACE PROCEDURE LOGGER (P_MSG VARCHAR (100))
AUTONOMOUS 
BEGIN
    INSERT INTO LOG (TS, MSG) VALUES (GENERATE_UNIQUE()::TIMESTAMP, P_MSG);
END@

CREATE TABLE TEST (I INT)@

CREATE OR REPLACE TRIGGER TEST_AIR
AFTER INSERT ON TEST
REFERENCING NEW AS N
FOR EACH ROW
BEGIN ATOMIC
  CALL LOGGER ('Start of insertion: ' || N.I);
  CALL DBMS_ALERT.SLEEP (3);
  CALL LOGGER ('End of inserion: ' || N.I);
END@

INSERT INTO TEST VALUES 1, 2@
SELECT * FROM LOG ORDER BY TS@

| 运输系统|味精|
| - ------|- ------|
| 2023-02-13-17.41.57.098209 | 插入开始日期:1|
| 2023-02-13-17.42.00.115693 | 插入结束:1|
| 2023-02-13-17.42.00.137199 | 插入开始日期:2|
| 2023-02-13-17.42.03.163761 | 插入结束:2|

相关问题