触发器使用手册
来源:互联网 发布:淘宝直通车一天多少钱 编辑:程序博客网 时间:2024/06/08 07:38
- 一 理解触发器
- 1 概述
- 2组成
- 3 优点
- 二SQL中触发器的应用
- 1 创建INSERT触发器
- 2 UPDATE触发器
- 3 DELETE触发器
- 4 INSTEAD OF触发器
- 三 删除触发器
- 四 结束语
一. 理解触发器
触发器是一种存储过程,是一种特殊类型的存储过程。触发器只要满足一定的条件,它就可以触发完成各种简单和复杂的任务,可以帮助用户更好地维护数据库中数据的完整性。
1.1 概述
触发器是一种与数据表紧密关联的特殊的存储过程。与存储过程一样,触发器在数据库里一独立的对象存储。但是与存储过程不同的是,存储过程通过其他程序来启动运行,而触发器不能直接被调用,只能通过事件来启动运行。即当某个事件发生(触发器表内容被更改)时,触发器自动第隐式运行,并且触发器不能传递或接收参数。
1.2组成
触发器有触发器语句、触发器主体和触发器限制3部分组成。
- 触发语句:能够触发触发器主体和指定触发器的关联表。主要语句有UPDATE语句、DELETE语句和INSERT之类的DML语句。
- 触发器主体是指在触发触发器语句时执行的PL/SQL块。
- 触发器的限制是指通过使用WHEN子句限制触发器。
事件的触发有before和after两种。Before触发器是在事件发生前触发,After触发器是在事件发生后被触发。
1.3 优点
- 当发生对数据的更新维护时,与之相关对的触发器就会立即被激活,触发器会被自动调用。
- 触发器可以对需要存储的数据加以限制。
- 完成数据库中相关表之间的级联修改。级联修改是指为了保证数据之间的逻辑性及依赖关系,对一张表进行修改的同时,能够自动实现其他表中需要进行的修改。
- 注意:谨慎使用触发器,因为每次访问表时都可能激活某个触发器,给数据库带来负担。所以,尽量用触发器执行别的方法不嫩执行的操作。
二.SQL中触发器的应用
2.1 创建INSERT触发器
当向Category表中插入数据时,DBMS将显示“数据添加成功!”,具体代码格式如下。
CREATE TRIGGER [dbo].[trigCategoryinsert] ON [dbo].[category] after insertAS BEGIN print '数据添加成功!'END
2.2 UPDATE触发器
CREATE TRIGGER [dbo].[trigCategoryupdate] ON [dbo].[category] after updateAS BEGIN print '数据修改成功!'END
2.3 DELETE触发器
CREATE TRIGGER [dbo].[Categorydelete] ON [dbo].[category] after deleteAS BEGIN print '数据成功删除!'END
2.4 INSTEAD OF触发器
使不能被更新的视图支持更新操作。
USE [newssystem]GO/****** Object: Trigger [dbo].[trigCategoryDelete] Script Date: 10/30/2016 01:53:25 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGO-- =============================================-- Author: 杨倩-- Create date: 2016年9月19日17:24:39-- Description: 删除类别触发器-- =============================================ALTER TRIGGER [dbo].[trigCategoryDelete] ON [dbo].[category] instead of DELETEAS BEGIN from declare @caId int select @caId=id from deleted --删除评论 delete comment where newsId in(select newsId from news where caId=@caId ) --删除新闻 delete category where id=@caId --删除类别END
三. 删除触发器
使用DROP TRIGGER语句实现删除触发器的操作。
语法格式如下。
DROP TRIGGER trigger_name
四. 结束语
熟练的操作SQL基本语句CURD,对数据库的学习与应用都会有很大的提升空间。触发器是特殊的存储过程,你了解了吗?
1 0
- 触发器使用手册
- Oracle使用手册(三)---存储过程与触发器
- 触发器
- 触发器
- 触发器
- 触发器
- 触发器
- 触发器
- 触发器
- 触发器
- 触发器
- 触发器
- 触发器
- 触发器
- 触发器
- 触发器
- 触发器
- 触发器
- [BFS+prime]Borg Maze
- 第九周项目3--稀疏矩阵的三元组表示的实现及应用--(2)两个稀疏矩阵相加的运算
- WebRTC:最有希望统一即时音视频服务的技术标准
- hdu 2222 Keywords Search(AC自动机)
- 新ATM机 学会使用面向对象的思想来编程
- 触发器使用手册
- Android架构学习
- sed的困惑
- windows下mysql忘记密码了
- 数据库事务隔离级别
- Web Service 与 SOA 关系 区别
- 代码评审-JAVA代码
- 第十六天学习笔记
- HDU_5339_Untitled