eis/script/table/T_SAMPLE_RECORD.sql

63 lines
2.0 KiB
MySQL
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-- Version: 2025.7.31 14:52:27
Drop Table T_SAMPLE_RECORD@
Create Table T_SAMPLE_RECORD(
RuleId VARCHAR(50) NOT NULL,
Result VARCHAR(500) NOT NULL,
SEQ DECIMAL(4) NOT NULL,
toc TIMESTAMP,
tom TIMESTAMP,
mop VARCHAR(120),
mou VARCHAR(30),
CONSTRAINT pk_T_SAMPLE_RECORD PRIMARY KEY (RuleId, SEQ)
)
IN TB8KUSREMS INDEX IN TB8KIDXEMS@
COMMENT ON Table T_SAMPLE_RECORD IS '自动统计样本历史记录表'@
COMMENT ON T_SAMPLE_RECORD (RuleId IS '规则id')@
COMMENT ON T_SAMPLE_RECORD (Result IS '样本结果')@
COMMENT ON T_SAMPLE_RECORD (SEQ IS '样本序号用于更新每个规则只记录最多30条记录')@
/****************************************************************************
INSERT TRIGGER FOR TABLE
T_SAMPLE_RECORD
*****************************************************************************/
DROP TRIGGER ins_b_T_SAMPLE_RECORD@
CREATE OR REPLACE TRIGGER ins_b_T_SAMPLE_RECORD
BEFORE INSERT ON T_SAMPLE_RECORD REFERENCING NEW AS NEWROW FOR EACH ROW
MODE DB2SQL
BEGIN ATOMIC
DECLARE programm VARCHAR(120);
DECLARE auth VARCHAR(30);
set (programm,auth) = (SELECT APPL_NAME,AUTHID FROM SYSIBMADM.APPLICATIONS WHERE APPL_ID = (SELECT APPLICATION_ID() FROM dual));
set NEWROW.toc = (values sysdate);
set NEWROW.tom = (values sysdate);
set NEWROW.mop = programm;
set NEWROW.mou = auth;
END
@
/****************************************************************************
UPDATE TRIGGER FOR TABLE
T_SAMPLE_RECORD
*****************************************************************************/
DROP TRIGGER upd_b_T_SAMPLE_RECORD@
CREATE OR REPLACE TRIGGER upd_b_T_SAMPLE_RECORD
BEFORE UPDATE ON T_SAMPLE_RECORD REFERENCING NEW AS NEWROW FOR EACH ROW
MODE DB2SQL
BEGIN ATOMIC
DECLARE programm VARCHAR(120);
DECLARE auth VARCHAR(30);
set (programm,auth) = (SELECT APPL_NAME,AUTHID FROM SYSIBMADM.APPLICATIONS WHERE APPL_ID = (SELECT APPLICATION_ID() FROM dual));
set NEWROW.tom = (values sysdate);
set NEWROW.mop = programm;
set NEWROW.mou = auth;
END
@