触发器和存储过程

触发器

触发器是关系数据库特有的一项技术,触发器的结构和过程函数一样。触发器的主要作用是对系统操作的维护


触发器是一个与数据库事件联系在一起,当事件发生时,触发器会自动的被调用。过程是用户显示的调用,触发器不能被直接调用,当发生指定事件时自动调用。


语句触发器:

 

案例:

第一步:创建表emp_log

create table emp_log(

who varchar2(20),

when date

)

 

第二步:在emp表上创建语句触发器

create or replace trigger trig_1 before insert or update or delete on emp

begin

insert into emp_log values(user,sysdate);

end;

 

第三步:在emp表上做update 或则delete或 insert操作时就会自动触发触发器trig_1;

查询 emp_log表可以看到插入到表中的内容


触发器简单来说就是在操作(修改,删除,添加)一个表单的时候进行记录,然后可以在创建的触发器中看到这些操作记录,这就是触发器的用处


存储过程

存储过程其实就是一种命名的PL/SQL块,它可以接收0到多个参数,或者输出0到多个参数。存储过程被保存在数据中,可以在应用程序中(Java 中...)或者在sql plus中被调用.


语法

create procedure 过程名[参数1,参数2,....] is

[变量]

begin

过程代码;

[exception

异常代码]

end [过程名];


案例:

create procedure pro_1 is

begin

   dbms_output.put_line('Hello World!');

end pro_1;--end 后面可以不用带过程名,一般都不带

 

在sql plus中调用过程

SQL>exec[ute] pro_1; --方法一(在sql plus中执行)

SQL>begin       --方法二(在pl/sql快中执行)

pro_1;

    end;


存储过程是由流控制和SQL语句书写的过程,这个过程经编译和优化后存储在数据库服务器中,存储过程可由应用程序通过一个调用来执行,而且允许用户声明变量 。同时,存储过程可以接收和输出参数、返回执行存储过程的状态值,也可以嵌套调用。


  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值