我写了这个触发器来更新某个列。我写的触发器是:
CREATE TRIGGER updateotMark
BEFORE UPDATE
ON sBookBorrow
FOR EACH ROW
WHEN(SYSDATE-to_date(etime)>15)
BEGIN
UPDATE otMark = 1;
END;
/
这是我第一次使用触发器,所以我不知道出了什么问题。有任何想法吗?谢谢大家的回答。
UPDATE2 :现在它有一条错误消息:第5行的错误: ORA-04076:无效的新旧规范
答案 0 :(得分:0)
只需更新:新值
CREATE TRIGGER updateotMark
BEFORE UPDATE
ON sBookBorrow
FOR EACH ROW
WHEN(SYSDATE-to_date(etime)>15)
BEGIN
:new.otmark = 1;
END;
答案 1 :(得分:0)
" etime"?
的数据类型是什么?如果是日期,您不需要使用" TO_DATE"功能。例如(SYSDATE - etime> 15)
如果是VARCHAR2,则需要输入格式。恩。 TO_DATE(etime,' YYYYMMDD')
但是,在SQLPlus中使用SHOW将为您提供有关错误的更多信息。
var clips = document.getElementsByClassName('clip');
var circles = document.getElementsByClassName('circle');
var numClips = clips.length;
var timelines = [];
for (var i = 0; i < numClips; i += 1) {
createTimeline(i);
assignListeners(i);
}
function createTimeline(i) {
var timeline = new TimelineMax({ paused: true });
timeline.to(circles[i], 0.6, { opacity: 0, ease: Expo.easeInOut }, 0);
timeline.to(clips[i], 0.6, {
attr: { r: 120 },
transformOrigin: '50% 50%',
ease: Expo.easeInOut
}, 0.1);
timelines[i] = timeline;
}
function assignListeners(i) {
(function(i) {
circles[i].addEventListener('mouseenter', function(e) { expand(e, i); }, false);
circles[i].addEventListener('mouseleave', function(e) { contract(e, i); }, false);
}(i));
}
function expand(e, i) { timelines[i].play(); }
function contract(e, i) { timelines[i].reverse(); }
试试这个。
SHOW ERROR TRIGGER updateotMark;