Oracle 行级触发器学习
Oracle 触发器有语句级触发器和行级触发器
语句级触发器 当删除部门表中的部门号时,同时删除掉员工表中部门号为:old.deptno的记录
create or replace trigger del_dept_id
after delete on dept
for each row
begin
delete from emp where deptno=:old.deptno;
end;
当往部门表插入时,同时在员工表中插入一句,其中:new.deptno 为插入的部门编号
create or replace trigger insert_dept
after insert on dept
for each row
begin
insert into emp(empno,ename,job,mgr,sal,hiredate,deptno) values('1234','JAMES','job',7566,3456,sysdate,:new.deptno);
end;
修改时:
create or replace trigger update_dept
after update on dept
for each row
begin
update emp set deptno=:new.deptno where deptno=:old.deptno;
end;
/
上面的new 表和old表是在内存当中的
我们对哪个表进行了delete那么old表就和他的结构一样
我们对哪个表进行了insert那么new表就和他的结构一样
插入数据时候先插入到new表中,然后在插入实际的表中
删除数据时候先把数据放在old表中,提交后在从old表中删除
insert涉及new表
delete涉及old表
update涉及old和new表
触发器中不能写rollback也不能写DBMS_OUTPUT.PUTLINE
相关文档:
Oracle笔记
l 关于TRUNC函数
SELECT
RELATED_ID ,
DOC_ID ,
CAT_ID ,
CAT_CODE ,
RELEASE_DATE ,
&n ......
oracle表空间操作详解
1
2
3作者: 来源: 更新日期:2006-01-04
5
6
7建立表空间
8
9CREATE TABLESPACE data01
10DATAFILE '/ora ......
当前任何版本的ORACLE客户端在任何版本的WINDOWS7上都不能正常完成安装。
主要是因为ORACLE安装的先决条件里操作系统版本不符合,但是这个疑问可以修改refhost.xml处理, 具体是在refhost.xml中添加
<!--Microsoft Windows 7-->
<OPERATING_SYSTEM>
& ......
限制索引是一些没有经验的开发人员经常犯的错误之一。在SQL中有很多陷阱会使一些索引无法使用。下面讨论一些常见的问题:
1 使用不等于操作符(<>、!=)
下面的查询即使在cust_rating列有一个索引,查询语句仍然执行一次全表扫描。
  ......