Oracle知识点简介(5)
来源:未知 责任编辑:责任编辑 发表时间:2013-12-01 14:21 点击:次
if updating('NAME') THEN
DBMS_OUTPUT.PUT_LINE('更新了名字');
end if;
end test1;
当执行:update stud set sex='男' where ID=3;时会输出“更新了”
当执行update stud set NAME='测试' where ID=3;时会输出“更新了”和“更新了名字”
再如:
create or replace trigger test1
before
update on stud
declare
begin
raise_application_error(-20001,'不让更新');--该触发器的作用是在更新之前告诉用户不让其更新。
end test1;
在数据字典中查看某个表中的触发器
select * from user_triggers where table_name='STUD';
禁用触发器
Alter trigger test1 disable
激活触发器
Alter trigger test1 enable
禁用表上所有的触发器
Alter table dept(表名) disable all triggers
启用表上所有的触发器
Alter table dept(表名) enable all triggers
当改变表结构时重新编译触发器
Alter trigger test1 compile;
删除触发器
drop trigger test1;
包:
包类似于java中的类,用于将pl/sql中的函数或者过程以及变量进行封装
包分为两部分
1)包说明:里边放置的包的公有组件,如变量,常量,过程等
创建语法:
create or replace package dd is
-- Author : RR
-- Created : 2011/7/15 20:38:53
-- Purpose :
-- Public type declarations
type <TypeName> is <Datatype>;
-- Public constant declarations
<ConstantName> constant <Datatype> := <Value>;
-- Public variable declarations
<VariableName> <Datatype>;
-- Public function and procedure declarations
function <FunctionName>(<Parameter> <Datatype>) return <Datatype>;
end dd;
2)包体
放置具体的实现代码
删除包
Drop package package_name
相关新闻>>
最新推荐更多>>>
- 发表评论
-
- 最新评论 更多>>