1、-- 创建违规类型对应的表,包括create_time、update_time字段,执行:
create table VIOLATION_REGEX_SCX(
id number(10) not null primary key,
violation_type varchar2(50),
type varchar2(20) default 'base',
match_pattern varchar2(20) default 'single',
create_time DATE DEFAULT SYSDATE,
update_time DATE,
s1_regex clob,
s2_regex clob
)
如果你要对其中的一些字段添加注释,可以执行
comment on column VIOLATION_REGEX_SCX.violation_type is '违规类型'
2、创建自增长序列,执行:
create sequence VIOLATION_REGEX_SCX_SEQ
minvalue 1 -- 最小值
-- maxvalue 2000 -- 最大值
nomaxvalue -- 不设置最大值
start with 1 -- 从1开始计数
increment by 1 -- 每次增加1
nocycle -- 一直累加,不循环
cache 20;
3、给主键id,创建触发器,执行:
create or replace trigger VIOLATION_REGEX_SCX_TR
before insert on VIOLATION_REGEX_SCX
for each row
begin
select VIOLATION_REGEX_SCX_SEQ.nextval into :new.id from dual;
end VIOLATION_REGEX_SCX_TR;
4、给update_time创建触发器,执行:
create or replace TRIGGER VIOLATION_REGEX_SCX_update_time_tr
before INSERT OR UPDATE ON VIOLATION_REGEX_SCX
FOR EACH ROW
BEGIN
IF INSERTING THEN
:NEW.update_time := SYSDATE;
ELSIF UPDATING then
:NEW.update_time := SYSDATE;
END IF;
END;
oracle创建带有自增字段和自动更新时间的表
最新推荐文章于 2024-03-22 15:26:04 发布