存储过程定义:
将常用的或很复杂的工作,预先用SQL语句写好并用一个指定的名称存储起来,只有在创造时进行编译,以后每次执行时都不需再重新编译。
触发器定义:
触发器是一种特殊的存储过程,但它不能被显示的调用,而是在往表中插入记录,更新记录或者删除记录时被自动的激活;触发器可以用来实现对表实施复杂的完整性约束。
特别地:系统为触发器准备了两个专用表:Inserted表和Deleted表。
Inserted表:存放执行delete或update语句而要从表中删除的所有行。
Delete表:存放执行Insert或update语句而要想表中插入的所有行。
触发器的种类
1.Instead of: 用于替代引起触发器执行的T-SQL语句。可用于表,视图。
2.After:在一个Insert,Update或delete语句之后执行,进行约束检查等动作都在after触发器被激活之前发生。只能用于表
注:一个表或视图的每一个修改动作都可以有一个instead of触发器,一个表的每个修改动作都可以有多个after触发器
触发器的创建
使用T-SQL语句
creat trigger trigger_name
on{table_name|view_name}
{for|after|instead of}
[insert,update,delete]
as
aql_statement
触发器的删除
基本语句
drop trigger trigger_name
查看数据库中已有的触发器
基本语句
use jxcSoftware
go
select*from sysobjects where xtype='TR'
查看单个触发器
基本语句
exec sp_helptext'触发器名'
修改触发器
基本语句
alter trigger trigger_name
on{table_name|view_name}
{for|after|instead of}
[insert,update,delete]
as
aql_statement
当然对触发器的这些基本操作还可以通过企业管理器来操作。大家可以针对不同版本的SQL Sever来进行学习。
触发器的优点
1.自动执行
2.级联更新
3.强化约束
4.跟踪变化
5.强制业务逻辑
触发器有这么多优点,是不是就可以一味的去使用它呢?越多越好吗?其实不是这样的,触发器功能强大,轻松可靠的实现许多复杂的功能,但是仍要慎用。原因是这样的,如果我们滥用触发器会造成数据库及应用程序的维护困难。
触发器不是一个简单的存储过程,它可以通过数据库中的相关表实现级联更改,不过,通过级联引用完整性约束可以更有效的执行这些更改。同时触发器可以强制比用check约束更为复杂的约束。
至于触发器和约束的比较下篇博客会写到......
分享到:
相关推荐
实验6数据库实验——存储过程和触发器.doc
实验八数据库编程技术——游标、存储过程与触发器.pdf
数据库系统概论——存储过程和触发器.ppt该文档详细且完整,值得借鉴下载使用,欢迎下载使用,有问题可以第一时间联系作者~
数据库系统概论——存储过程和触发器资料.ppt该文档详细且完整,值得借鉴下载使用,欢迎下载使用,有问题可以第一时间联系作者~
存储过程与触发器的创建实验 报告、个人总结 内附详细的实验步骤,包含SQL源码及操作截图 更加详细的介绍请查看liushendb的博客《数据库实验——存储过程与触发器的创建实验by SixInNight》
创建满足下述要求的存储过程,并查看存储过程的执行结果。.创建满足下述要求的触发器,并验证触发器执行情况。
数据库技术及应用——SQL Server课件
了解存储过程的概念、优点 熟练掌握创建存储过程的方法 熟练掌握存储过程的调用方法 了解触发器的概念、优点 掌握触发器的方法和步骤 掌握触发器的使用 二、实验环境 Windows10 Oracle database 12.1....
触发器(trigger)是和表关联的特殊的存储过程,当数据库系统执行insert、update和delete事件时,会激活使其执行相应的操作。 2 创建和执行触发器 2.1 触发器中的 new和 old 在MySQL中用old和new表示触发器执行前和...
自己做的数据库课程设计包括需求分析、逻辑结构设计、概念设计、物理结构设计、数据库实施和维护、sql语句增删查改、存储过程触发器都有、还有各种图也画了
/*------存储1 根据用户输入该学生编号,检查是否存在,若存在则显示出*/ Create procedure p1 @sno char(10) ,@sname char(10),@ssex char(2),@borndate datetime,@classname varchar(50) As Begin If exists...
1 数据库基础ppt 2 数据库设计ppt 3 数据库的实现 4 数据库表管理 5 数据库查询1 6 数据库查询2 7 T——sql编程 8 高级查询 9 事务处理 10 存储过程 11 触发器
(5) 学会使用JDBC调用接口对数据库进行简单的操作,要求实现的操作包括:创建表、修改表结构、插入数据、更新表中的数据、删除数据、简单的查询操作、复杂查询操作、创建存储过程、触发器等; (6) 在实现(4)中...
数据库程序设计—— SQL Server ...实现视图 第16章 实现存储过程 第17章 实现用户定义函数 第18章 实现触发器 第19章 多服务器编程 第20章 优化查询性能 第21章 分析查询 第22章 管理事务和锁
表,SQL语言基础,子查询与高级查询,PL/SQL基础,存储过程、触发器与程序包,其他模式对象,用户权限与安全,数据的加载与传输以及使用RMAN工具备份与恢复等,最后还介绍了一个综合案例——手机话费消费系统。
数据库系统原理课程设计 课题名称:图书信息管理系统 姓 名: 班 级: 学 号: 指导老师: 2014年 01月 02日 目录 1.绪论 3 1。1 背景介绍 3 1.2 开发背景的选用及介绍 3 2.需求分析 4 2.1 系统分析 4 2。2 系统目标...
具体介绍看我的资源 实验一——数据定义与数据操纵 实验二——数据查询 实验三——存储过程与触发器 实验四——数据库恢复与安全性
1.实现数据的增、删、改及合并操作 2.实现简单查询及高级查询操作 3.实现存储过程的创建和调用方法 4.实现触发器的创建方法
数据库、登录、用户、模式、基表、视图、索引、序列、全文索引、存储过程和触发器 的定义和删除语句,登录、基表、视图、仝文索引的修改语句,对象的更名语句; 査询(含全文检索)、插入、删除、修改语句; 数据库安全...