触发器——看到这个名字总是会想到数电中学过的触发器,有输入端和输出端,根据电平的高低来触发。

数据库中的触发器是个特殊的存储过程,主要是通过事件进行触发而被执行的,而存储过程可以通过存储过程名称而被直接调用。

作用:使用T——SQL语句进行复杂的逻辑处理,基于一个表创建,但是可以对多个表进行操作,因此常常用于复杂的业务规则。可以完成如下功能:

1 、级联修改数据库中相关的表

2、执行比核查约束更为复杂的约束操作

3、拒绝或回滚违反引用完整性的操作。

4、比较表修改前后数据之间的差别,并根据差别采取相应的操作。

创建触发器的规则和限制:

1、Create Trigger语句必须是批处理中的第一个语句。

2、在默认情况下,创建触发器的权限将分配给数据表的所有者,且不能转给其他用户

3、触发器是数据库对象,其名称必须遵循标识符的命名规则。

4、虽然触发器可以引用当前数据库以外的对象,但是只能在当前数据库中创建触发器。

5、虽然不能在临时数据表上创建触发器,但是触发器可以引用临时数据表。

6、不能在系统数据表创建触发器,也不可以引用系统数据库。

7、在包含使用delete或updata操作定义中,不能定义instead of和instead of update触发器。

8、TRUNCATE TABLE语句不会引发Delete触发器,因为该语句没有被记入日志。

9、Writetext语句不会引发insert或update触发器

注意:当创建一个触发器时必须指定:名称;在其上定义触发器的表;触发器将何时激发;激活触发器的数据修

数据库中触发器的作用,规则和限制相关推荐

  1. 数据库中触发器的作用是什么?

    数据库中触发器的作用是什么? 什么是触发器 触发器是一种特殊的存储过程,只能由事件驱动调用,而无法直接调用. 触发器有什么用 当对数据库的相关对象(数据库.表.视图)进行某些特定的操作时,数据库会自动 ...

  2. mysql leave的作用_MySQL数据库中DELIMITER的作用

    以下的文章主要是向大家描述的是MySQL数据库中delimiter的作用是什么?我们一般都认为这个命令和存储过程关系不大,到底是不是这样的呢?以下的文章将会给你相关的知识,望你会有所收获. 下面是一个 ...

  3. mysql delimiter的作用_MySQL数据库中delimiter的作用概述

    以下的文章主要是向大家描述的是MySQL数据库中delimiter的作用是什么?我们一般都认为这个命令和存储过程关系不大,到底是不是这样的呢?以下的文章将会给你相关的知识,望你会有所收获. 其实就是告 ...

  4. MySQL数据库中视图的作用

    数据库中视图的作用 视图是从一个或几个基本表(或视图)导出的表.它与基本表不同,是一个虚表.数据库只存放视图的定义,而不存放视图对应的数据,这些数据仍存放在原来的基本表中.所以基本表中的数据发生变化, ...

  5. oracle中exist什么意思,oracle中not exists 是什么意思 , oracle数据库中exists的作用

    导航:网站首页 > oracle中not exists 是什么意思 , oracle数据库中exists的作用 oracle中not exists 是什么意思 , oracle数据库中exist ...

  6. mysql选择排序规则_关于mysql创建数据库中字符集和排序规则的选择

    1:字符集: 一般 主要选择两种: 1:utf8   (看unicode编码区从1 - 126就属于传统utf8区,),一般都够用,除非需要存储特殊字符 2:utf8mb4(utf8mb4兼容utf8 ...

  7. 数据库:触发器,作用,分类,触发器与存储过程的区别

    触发器: 1)触发器是一种特殊类型的存储过程,它由事件触发,而不是程序调用或手工启动,当数据库有特殊的操作时,这些操作由数据库中的事件来触发,自动完成这些SQL语句. 2)使用触发器可以用来保证数据的 ...

  8. oracle 中触发器的作用是什么,oracle创建触发器及作用举例

    --创建触发器及作用举例 create or replace trigger tri before delete on emp --在删除emp表数据之前需要做的事根据自己的业务去写,before是在 ...

  9. 关于使用java程序从excel或者数据库中取出建表规则数据,自动生成数据库建表语句(适用于批量建数据库表)

    公司开发新系统,需要创建几百个数据库表,建表的规则已经写好放到Excel中,如果手动创建的话需要占用较长的时间去做,而且字段类型的规则又被放到了另一张表,如果手动去一个一个去匹配就很麻烦,所以我先把两 ...

最新文章

  1. 实现多条件模糊查询SQL语句
  2. 转://点评Oracle11g新特性之动态变量窥视
  3. c#动态修改代码的crackme
  4. Laravel event 事件的简单使用
  5. localdate计算相差天数_还在苦恼MySQL如何根据日期精确计算年龄?看这一篇,就够了
  6. python+selenium配置Edge浏览器
  7. JavaScript试题练习题
  8. 基于Bootstrap的网站后台模板Metronic
  9. redis在php中的应用(string篇)
  10. 题解 CF1399D 【Binary String To Subsequences】
  11. PHP包管理器PEAR 中爆多个缺陷可发动供应链攻击,已潜伏15年
  12. php代码整理,值得注意的PHP代码样式规范
  13. android图片布局填冲满,Android的布局图像填充宽度
  14. 【408预推免复习】计算机网络(谢希仁第七版)第三章——数据链路层
  15. 过渡属性: transition
  16. 网页打开QQ链接,进行临时会话
  17. html dd标签隐藏,HTML dl dt dd 标签
  18. 你的年龄体重身高,最好别对这款 app 撒谎
  19. 黑马程序员Java零基础视频教程(2022最新Java)B站视频学习笔记-Day15-阶段项目(拼图小游戏)(上篇)
  20. ARFoundation从零开始3-创建ARFoundation项目

热门文章

  1. Appium Android Bootstrap源码分析之简介
  2. Oracle动态视图v$sql的说明和使用
  3. linux开发板汉字显示,Linux Qt 及Arm开发板汉字显示
  4. 【深夜思考】Android组件化架构实践,成功拿下大厂offer
  5. el-select选中变色及百分比怎么做
  6. C语言中比较两数的大小——三种方法
  7. 待业在家,晚上10点接到HR面试电话,我拒绝了
  8. 智能化转型浪潮下,百度EasyDL的“AI普惠”之路
  9. ULIINK2的转接问题
  10. intellij HTTP状态 404 - 未找到_了解你的业务状态!使用 Nagios 打造专业的业务状态监控...