oracle 触发器简单实例

语法格式:

create or replace trigger 触发器名字 

before(/after)  insert(delete ,update)---这个不能写select

on 表--在那张表建立触发器

for each row---行触发器

declare --申明

变量申明块
begin

执行语句块
end




 

条件谓词

inserting/deleting/updating 为什么要用这个 oracle触发器可以同时是插入或者更新,有时候我们需要知道是那个动作出发了 就要这几个条件词语。

oracle中 oid/new

oid的意思是针对数据库存在的那条数据做处理,而new是新的(没有的意思)不知道我说的很明白不?

例子:

当用户在t_sp表中插入一条数据 则插入用户的信息和时间。

t_sp数据脚本:

create table t_sp

(

 t_id varchar2(40) primary key,

t_name varchar2(40),

t_sex char(2) check(t_sex in('男','女'))

)

user表

create table t_user

(

t_name varchar(40),

t_date date

)

 

触发器:

create or replace  trigger t_juor

before insert  on t_sp

for each row

declare

username varchar2(40);

begin

select user into username from dual;

   if(username='t_sp') then

       insert into t_user values(username,:new.t_date);

   else 

        dbms_output.put_line('对不起你没有权限');

     end if;

 end;


 

以上是自学个人看法,如果朋友们有更好的也可以教教我,谢谢。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值