易截截图软件、单文件、免安装、纯绿色、仅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 对象的使用

--创建对象类型
create or replace type emp_typ as object (
id number,
name varchar2(30),
sal number,
comm number,
member procedure change_comm(new_comm number),
member function get_info return  varchar2
) ;
--创建对象类型构造函数定义
create or replace type body emp_typ is
member proce ......

oracle 9i升级到oracle9208数据库

背景:在windows2003server上安装了Oracle9.2.0.1.0,现打算将其升级到9.2.0.8版本,并打上最新的安全补丁April2008版。
1.升级oracle(administrator用户权限)
  (1)到metalink下载升级压缩包,patch号为4547809,压缩包名称为 p4547809_92080_WINNT.zip,for windows 32bit。
  (2)解压缩zip,下边包含一个 ......

ORACLE RAC DOWN机问题分析

Author: Rainny
Date: 2010-3-5
一,症状描述
2个节点的ORACLE 10G RAC,隔一段时间其中的一个NODE就会DOWN机。节点从CLUSTER中被驱逐。
二,诊断过程
Rac1被逐出,RAC2存活,RAC2接管了RAC1的VIP,我们来查看RAC2的相关LOG。
首先查看RAC2的告警日志:..\log\rac2\alertrac2.log:
2010-03-05 14:39:50.750
[cssd(7 ......

Oracle 10.2.0.1.0升级到 10.2.0.4.0

首先去http://metalink.oracle.com 下载相关的补丁包,因为是64位for windows的包是p6810189_10204_MSWIN-x86-64.zip,下载地址:
ftp://updates.oracle.com/6810189/p6810189_10204_MSWIN-x86-64.zip
操作如下.
(1) Oracle推荐在升级之前先做一个全库的备份;
(2) 停止所有的Oracle服务
emctl stop dbconsole
isqlplusc ......

北大青鸟oracle学习笔记23 24

子程序 命名的pl/sql块
create procedure 过程名 [参数1 in|out|in out…]
    局部变量声明
    执行语句
in
out
in out
    过程名(参数里表); create or replace
procedure add123 as
i integer;
j integer;
begin
i:=1;
j:=2;
dbms_output.put_l ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号