zoukankan      html  css  js  c++  java
  • Oracle 触发器 trigger

      触发器:

      当用户登录/退出或者操作某个数据对象或者进行DDL(建表,建view)引起某个储存过程的值的变化,把这个隐含被调用的过程,称为触发器。

      语法

      CREATE OR REPLACE TRIGGER trigger_name

      {before|AFTER}

      {insert,delete,update of column,column}

      on table_name

      for each row --表示这是一个行级触发器

      when

      begin

      trigger_body;

      end;

      复制代码

      创建触发器

      create or replace trigger change_teacher

      before insert or update or delete on teachers

      begin

      if to_char(sysdba,'HH24') not berween '8' and '17' )

      THEN

      RAISE_APPLICATION_ERROR(-20005,'在非工作时间不能改变教师信息。');

      END IF;

      END change_teacher;

      复制代码

      获取新旧表记录对象

      create or replace trigger tri_salary

      before update on

      scott.emp

      for

      each row

      begin

      if :new.sal<:old.sal then

      dbms_output.put_line('工资不能低于原来工资');

      raise_application_error(-20005,'请不要修改');

      else

      dbms_output.put_line('原来是工资是'||:old.sal);

      end;

      复制代码

      禁用/启用触发器

      alter trigger 触发器名 disable(enable);

      复制代码

      删除触发器

      DROP TRIGGER salary_check;

      复制代码(编辑:雷林鹏 来源:网络)

  • 相关阅读:
    记录CTF一些奇技滛巧
    FISCO BCOS 多服务器分布式部署
    网络1911、1912 D&S第3次作业--批改总结
    DVWA渗透笔记
    Python——flask漏洞探究
    Java团队课程设计——基于学院的搜索引擎
    Java课程设计之——Web前端
    Java课程设计之——爬虫篇
    elasticsearch 7.5.0 学习笔记
    SpringCloud系列(一):Eureka 服务注册与服务发现
  • 原文地址:https://www.cnblogs.com/pengpeng1208/p/9485477.html
Copyright © 2011-2022 走看看