📄 create_trigger.sql
字号:
--步骤1:创建如下的记录表OPERATION_LOGS:
CREATE TABLE OPERATION_LOG(
序号 NUMBER(10) PRIMARY KEY,
账户 VARCHAR2(15) NOT NULL,
时间 DATE,
操作 VARCHAR2(10),
考生编号 NUMBER(5),
原分数 NUMBER(3),
新分数 NUMBER(3)
);
--步骤2:创建一个主键序列OPERATION_ID:
CREATE SEQUENCE OPERATION_ID INCREMENT BY 1
START WITH 1 MAXVALUE 9999999 NOCYCLE NOCACHE;
CREATE OR REPLACE TRIGGER OPERATION
BEFORE --触发时间为操作前
DELETE OR INSERT OR UPDATE OF 总分 -- 由三种事件触发
ON STUDENT
FOR EACH ROW -- 行级触发器
BEGIN
IF INSERTING THEN
INSERT INTO OPERATION_LOG
VALUES(OPERATION_ID.NEXTVAL,USER,SYSDATE,'插入',:NEW.编号,NULL,:NEW.总分);
ELSIF DELETING THEN
INSERT INTO OPERATION_LOG
VALUES(OPERATION_ID.NEXTVAL,USER,SYSDATE,'删除',:OLD.编号,:OLD.总分,NULL);
ELSE
INSERT INTO OPERATION_LOG
VALUES(OPERATION_ID.NEXTVAL,USER,SYSDATE,'修改',:OLD.编号,:OLD.总分,:NEW.总分);
END IF;
END;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -