存储过程和存储函数指存储在数据库中供所有用户程序调用的子程序叫存储过程、存储函数

创建存储过程

语法:

存储过程示例:为指定的职工在原工资的基础上长10%的工资

–存储过程调用

存储函数

CREATE [OR REPLACE] FUNCTION函数名(参数列表)
RETURN 函数值类型
AS
PLSQL子程序体;

 
示例:查询某职工的年收入。

触发器

触发器的类型

创建触发器

示例1:限制非工作时间向数据库插入数据

触发语句与伪记录变量的值

触发语句

:old

:new

Insert

所有字段都是空(null)

将要插入的数据

Update

更新以前该行的值

更新后的值

delete

删除以前该行的值

所有字段都是空(null)

示例2:确认数据(检查emp表中sal的修改值不低于原值)
SQL> create or replace trigger checkSal
    before update of sal on emp
    for each row
    declare
    begin
    if :new.sal<:old.sal then
    raise_application_error(-20001,’更新后的薪水比更新前小’);
    end if;
    end;
   /

Trigger created
运行后结果:
SQL> update emp set sal=260 where empno=7499;

update emp set sal=260 where empno=7499

ORA-20001: 更新后的薪水比更新前小
ORA-06512: 在 “SCOTT.CHECKSAL”, line 4
ORA-04088: 触发器 ‘SCOTT.CHECKSAL’执行过程中出错

       触发器总结
      触发器可用于
•         数据确认
•         实施复杂的安全性检查
•         做审计,跟踪表上所做的数据操作等

      查询触发器、过程及函数
•         Select * from user_triggers;
•         Select * from user_source;

声明:本站(华域联盟www.cnhackhy.com)所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。