数据库中触发器的作用,规则和限制
触发器——看到这个名字总是会想到数电中学过的触发器,有输入端和输出端,根据电平的高低来触发。
数据库中的触发器是个特殊的存储过程,主要是通过事件进行触发而被执行的,而存储过程可以通过存储过程名称而被直接调用。
作用:使用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触发器
注意:当创建一个触发器时必须指定:名称;在其上定义触发器的表;触发器将何时激发;激活触发器的数据修
数据库中触发器的作用,规则和限制相关推荐
- 数据库中触发器的作用是什么?
数据库中触发器的作用是什么? 什么是触发器 触发器是一种特殊的存储过程,只能由事件驱动调用,而无法直接调用. 触发器有什么用 当对数据库的相关对象(数据库.表.视图)进行某些特定的操作时,数据库会自动 ...
- mysql leave的作用_MySQL数据库中DELIMITER的作用
以下的文章主要是向大家描述的是MySQL数据库中delimiter的作用是什么?我们一般都认为这个命令和存储过程关系不大,到底是不是这样的呢?以下的文章将会给你相关的知识,望你会有所收获. 下面是一个 ...
- mysql delimiter的作用_MySQL数据库中delimiter的作用概述
以下的文章主要是向大家描述的是MySQL数据库中delimiter的作用是什么?我们一般都认为这个命令和存储过程关系不大,到底是不是这样的呢?以下的文章将会给你相关的知识,望你会有所收获. 其实就是告 ...
- MySQL数据库中视图的作用
数据库中视图的作用 视图是从一个或几个基本表(或视图)导出的表.它与基本表不同,是一个虚表.数据库只存放视图的定义,而不存放视图对应的数据,这些数据仍存放在原来的基本表中.所以基本表中的数据发生变化, ...
- oracle中exist什么意思,oracle中not exists 是什么意思 , oracle数据库中exists的作用
导航:网站首页 > oracle中not exists 是什么意思 , oracle数据库中exists的作用 oracle中not exists 是什么意思 , oracle数据库中exist ...
- mysql选择排序规则_关于mysql创建数据库中字符集和排序规则的选择
1:字符集: 一般 主要选择两种: 1:utf8 (看unicode编码区从1 - 126就属于传统utf8区,),一般都够用,除非需要存储特殊字符 2:utf8mb4(utf8mb4兼容utf8 ...
- 数据库:触发器,作用,分类,触发器与存储过程的区别
触发器: 1)触发器是一种特殊类型的存储过程,它由事件触发,而不是程序调用或手工启动,当数据库有特殊的操作时,这些操作由数据库中的事件来触发,自动完成这些SQL语句. 2)使用触发器可以用来保证数据的 ...
- oracle 中触发器的作用是什么,oracle创建触发器及作用举例
--创建触发器及作用举例 create or replace trigger tri before delete on emp --在删除emp表数据之前需要做的事根据自己的业务去写,before是在 ...
- 关于使用java程序从excel或者数据库中取出建表规则数据,自动生成数据库建表语句(适用于批量建数据库表)
公司开发新系统,需要创建几百个数据库表,建表的规则已经写好放到Excel中,如果手动创建的话需要占用较长的时间去做,而且字段类型的规则又被放到了另一张表,如果手动去一个一个去匹配就很麻烦,所以我先把两 ...
最新文章
- 实现多条件模糊查询SQL语句
- 转://点评Oracle11g新特性之动态变量窥视
- c#动态修改代码的crackme
- Laravel event 事件的简单使用
- localdate计算相差天数_还在苦恼MySQL如何根据日期精确计算年龄?看这一篇,就够了
- python+selenium配置Edge浏览器
- JavaScript试题练习题
- 基于Bootstrap的网站后台模板Metronic
- redis在php中的应用(string篇)
- 题解 CF1399D 【Binary String To Subsequences】
- PHP包管理器PEAR 中爆多个缺陷可发动供应链攻击,已潜伏15年
- php代码整理,值得注意的PHP代码样式规范
- android图片布局填冲满,Android的布局图像填充宽度
- 【408预推免复习】计算机网络(谢希仁第七版)第三章——数据链路层
- 过渡属性: transition
- 网页打开QQ链接,进行临时会话
- html dd标签隐藏,HTML dl dt dd 标签
- 你的年龄体重身高,最好别对这款 app 撒谎
- 黑马程序员Java零基础视频教程(2022最新Java)B站视频学习笔记-Day15-阶段项目(拼图小游戏)(上篇)
- ARFoundation从零开始3-创建ARFoundation项目
热门文章
- Appium Android Bootstrap源码分析之简介
- Oracle动态视图v$sql的说明和使用
- linux开发板汉字显示,Linux Qt 及Arm开发板汉字显示
- 【深夜思考】Android组件化架构实践,成功拿下大厂offer
- el-select选中变色及百分比怎么做
- C语言中比较两数的大小——三种方法
- 待业在家,晚上10点接到HR面试电话,我拒绝了
- 智能化转型浪潮下,百度EasyDL的“AI普惠”之路
- ULIINK2的转接问题
- intellij HTTP状态 404 - 未找到_了解你的业务状态!使用 Nagios 打造专业的业务状态监控...