求oracle 触发器
我有两张表,想要写一个触发器,当对一个表进行操作时,另一张表进行相应的操作,这两张表是相同或者相似的表,例如
create table STUDENTINFO
(
ID INTEGER not null,
NAME VARCHAR2(32) not null,
AGE INTEGER,
INPUT INTEGER,
ADRESS VARCHAR2(128) not null,
REMARK VARCHAR2(32),
);
alter table VNMP_CAMERAINFO add primary key (CAMERAID);
create table STUDENTINFOA
(
ID INTEGER not null,
NAME VARCHAR2(32) not null,
AGE INTEGER,
INPUT INTEGER,
ADRESS VARCHAR2(128) not null,
REMARK VARCHAR2(32),
GREAD INTEGER,
);
alter table VNMP_CAMERAINFO add primary key (CAMERAID);
如何当增加、删除、修改STUDENTINFO时,STUDENTINFOA也做相应的改变。尤其是对STUDENTINFO进行修改操作时如何写触发器,注意STUDENTINFO表中除了ID以外,其他字段都有可能进行了修改!给出实例。
谢谢!
CREATE OR REPLACE TRIGGER Trg_STUDENTINFO_UPDATE AFTER UPDATE
ON STUDENTINFO
FOR EACH ROW
BEGIN
IF :NEW.AGE <> :OLD.AGE THEN
update STUDENTINFOA set age = :NEW.AGE
where id = :old.id;
END IF;
END Trg_STUDENTINFO_UPDATE ;
你这只考虑一个字段修改了的情况,如果不确定那个字段修改了,是不是可以这样写:
CREATE OR REPLACE TRIGGER Trg_STUDENTINFO_UPDATE AFTER UPDATE
相关问答:
本来要写个update语句
update table_a A
set A.flag=1
where A.id in (select B.id from table_b B)
结果误写成
update table_a A
set A.flag=1
where ......
大家好,我现在把oracle服务器上面的原始文件,下载到本机了.我想在本机访问数据库怎么设置啊.是不是类似可以建立一个什么虚拟服务器来实现.请大家出出主意
引用
大家好,我现在把oracle服务器上面 ......
private static final String URL = "jdbc:oracle:thin:@localhost:1521:orcl";
private static final String USERNAME = "sys";
private static final String PASSWORD = "s ......
在执行包的时候引用oracle spatial空间函数出错,出错情况如下
Errors in file
/user/oracle/app/oracle/admin/grid/udump/grid1_ora_143768.trc: ORA-29902:
error in executing ODCIIndexStart() routine ORA-0 ......
oracle 11g 安装 01092 错误,
日志信息:
[oracle@linux trace]$ vi alert_orcl.log
MMON started with pid=14, OS id=9089
RESETLOGS after incomplete recovery UNTIL CHANGE 522752
Errors in file / ......