该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
在MySQL里ON UPDATE CURRENT_TIMESTAMP在Oracle怎么表达?是用触发器吗?
原语句:
CREATE TABLE `XXL_JOB_QRTZ_TRIGGER_LOGGLUE` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`job_id` int(11) NOT NULL COMMENT '任务,主键ID',
`glue_type` varchar(50) DEFAULT NULL COMMENT 'GLUE类型',
`glue_source` mediumtext COMMENT 'GLUE源代码',
`glue_remark` varchar(128) NOT NULL COMMENT 'GLUE备注',
`add_time` timestamp NULL DEFAULT NULL,
`update_time` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
然后我自己改了之后的:
CREATE TABLE XXL_TRIGGER_LOGGLUE (
id NUMBER(11,0),
job_id NUMBER(11,0) NOT NULL,
glue_type VARCHAR2(50) DEFAULT NULL,
glue_source CLOB,
glue_remark VARCHAR2(128) NOT NULL,
add_time timestamp DEFAULT NULL,
update_time timestamp DEFAULT NULL,
PRIMARY KEY (id)
);
comment on column XXL_TRIGGER_LOGGLUE.job_id is '任务,主键ID';
comment on column XXL_TRIGGER_LOGGLUE.glue_type is 'GLUE类型';
comment on column XXL_TRIGGER_LOGGLUE.glue_source is 'GLUE源代码';
comment on column XXL_TRIGGER_LOGGLUE.glue_remark is 'GLUE备注';
create or replace trigger JOB_LOGGLUE
before insert on XXL_TRIGGER_LOGGLUE
for each row
begin
select SEQ_JOB_LOGGLUE.nextval into :new.id from dual;
end;
/
create or replace trigger UPDATE_JOB_LOGGLUE
after update on XXL_TRIGGER_LOGGLUE
REFERENCING OLD AS "OLD" NEW AS "NEW"
for each row
begin
update XXL_TRIGGER_LOGGLUE set (update_time=SYSDATE) where id=:OLD.id;
end;
/
请大佬帮忙看一下=-=