易截截图软件、单文件、免安装、纯绿色、仅160KB

北大青鸟oracle学习笔记26 27 28

数据库触发器
触发器语句
    制定触发器定时、事件、表名及类型
触发器主体
    是pl/sql快或对过程的调用
触发器限制
    可以通过when子句实现
DML(insert update delete)
DDL(create alter drop)
数据库操作(servererror logon logoff startup shutdown)

create trigger 触发器名
before|after insert|delete|update of 列名
on 表名
[for each row]  --行级触发器
when 条件
触发器谓词
inserting insert操作
updating update操作
deleting delete操作
可以根据这三个谓词判断到底在执行哪个操作
create or replace
Trigger tg_insert
before insert or update on student
for each row
begin
  if updating then
    dbms_output.put_line('before update');
  end if;
  if inserting then
    dbms_output.put_line('before insert');
  end if;
end;
触发器类型:   
1、 表级触发器(表级触发器对每个DML语句执行一次)
create or replace Trigger tg_insert
before update on student
begin
  dbms_output.put_line('before update);
end;
4 rows updated
before update
2、 行触发器 (行级触发器对DML语句影响的每个行执行一次)
create or replace
Trigger tg_insert
before update on student
for each row  --每行触发一次
begin
  dbms_output.put_line('before update');
end;
4 rows updated
before update
before update
before update
before update
使用触发器时,两个特殊值:new 新插入的值 :old 原来的值  不能用于表级触发器

 create or replace trigger trig_job
before insert or update of job
on emp
for each row
begin
if inserting then
:new.job:=upper(:new.job);
else
:new.job:=upper(:new.job);
end if;
end;
3、INSTEAD OF触发(此触发器是在视图上而不是在表上定义的触发器,它是用来替


相关文档:

Oracle基础学习笔记

1.sqlplus-----开启服务
2.输入用户名和密码(默认3个用户,注意,密码是可以修改的:system/manager;scott/tiger;sys/change_on_install),连接数库。
3.创建表空间:
 create tablespace 表空间逻辑名 datafile '表空间文件的物理逻辑'
 size 文件大小(如:10m) autoextend 是否自动增长文件大小(on/off ......

Oracle定义约束 外键约束

 外键约束保证参照完整性。外键约束限定了一个列的取值范围。一个例子就是限定州名缩写在一个有限值集合中,这个值集合是另外一个控制结构——一张父表
    下面我们创建一张参照表,它提供了完整的州缩写列表,然后使用参照完整性确保学生们有正确的州缩写。第一张表是州参照表,State作为 ......

Oracle异常问题解决方案


1. 在打开Enterprise Manager Consol时报错: "找不到目标主机";
【解决方案】该问题在使用Ghost制作的系统中常见, 出错原因是Oracle中配置的主机名
 和实际的主机名不一致. 解决方法如下: 
 (1) Enterprise Manager Consol -> 工具菜单 ->服务管理 -> Oracle Net Manager;
 (2) 将"本地 ......

关于plsql中的define变量以及Oracle变量分类小结

关于plsql中的define变量以及Oracle变量分类小结
2009-07-29 15:18
先记载刚困扰我的一个问题,最近学习plsql,由于所用学习书籍后面提供题目常用到define变量,但由于这一变量的使用特殊性,自己便寻思这一变量所书类别,Oracle提供的变量分类共有四类:
1)标量(scalar)类型
2)复合(composite)类型
3)参照(re ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号