oracle 高手请进!!! 在线等答案
我在一个表A上建一个触发器,目的是为了当A表中的数据发生改变或新增数据时把 这条记录放在表B中。
请问当 A 发生 UPDATE时 ,如何知道是那条数据改变的?
update时
:old引用update前记录(包括所有列),若需引用单列,则:old.column_name
:new引用update后新记录,同上。 :new.column_name
用行级触发器 用:old或:new去取记录。
不是这个, 这个我知道。我说能不能知道是那条数据发生改变了。 我想把发生改变的数据整体放在另外一个表里。
引用:new和:old值可以达成的,
看来楼主没有描述清楚想要的结果
http://www.cnblogs.com/super-yc/archive/2006/11/13/559046.html
:new你update的新值
:old你update之前的值
如: table A 有四个字段:(name,age,addr,pho)
我建立个触发器,
create or replace trigger TRG_VIO_SURVEIL
after
INSERT or UPDATE
ON VIO_SURVEIL
REFERENCING OLD AS OLD NEW AS NEW
FOR EACH ROW
declare
var_name varchar2(50);
var_age integer;
var_addr varchar2(120);
var_pho varchar2(20);
begin
if inserting then
insert into B (:new.name,:new.age,:new.addr,:new.pho);
//当insert 时可以把新增的数据放在B中
end if;
if updating then
insert into B (:new.name,:new.age,:new.addr,:new.pho); ???
相关问答:
安装了Oracle 10g,默认安装了orcl数据库,这个数据库能不能删除啊,还有我如果新建了其他数据库,怎么知道在web中登陆不同数据库的地址啊?
1
可以删除
2
在WEB地址栏中输入地址的时候指定新创建的数据库的IP ......
各位oracle高手,请教一下为什么oracle 10g在安装到百分之八十五的时候就报错不能继续安装?
内存多大? 重新下个数据库安装试试..
引用
各位oracle高手,请教一下为什么oracle 10g在安装到百分之八十五的时 ......
在执行包的时候引用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 / ......