SQL Server 2000触发器技术及应用 毕业论文.doc
《SQL Server 2000触发器技术及应用 毕业论文.doc》由会员分享,可在线阅读,更多相关《SQL Server 2000触发器技术及应用 毕业论文.doc(10页珍藏版)》请在三一文库上搜索。
1、SQL Server 2000触发器技术及应用目录摘要6关键词6Abstract6Key words 6引言6第一章 触发器的概念及原理 7 1.1触发器的概念 7 1.2触发器的原理 7第三章 触发器的创建、删除、修改 8 2.1特殊存储过程 8 2.2 Inserted表和Deleted表 8 2.3 Inserted of和After触发器82.4 触发器的执行过程 82.5 使用T-SQL语句来创建触发器 82.6 删除触发器 82.7 查看数据库中已有触发器 92.8 修改触发器: 92.9 相关示例 9第三章 触发器的应用实例 11结论13参考文献13致谢13SQL Server
2、2000触发器技术及应用 摘要: 触发器是SQL Server为应用程序开发人员提供的一种保证数据库中数据完整性的方法,它是一种特殊的存储过程。介绍了SQL Server触发器的概念和类型,总结了SQL Server触发器在程序设计中的应用,并给出了SQL Server触发器应用实例。关键词: SQL Server;After触发器;Instead of触发器;数据完整性;数据库设计SQL Server 2000 flip-flop technology and application Abstract: flip-flop is SQL Server for applications dev
3、elopers to offer a kind of guarantee database data integrity method, it is a special kind of storage process. Introduced the SQL Server flip-flop, summarizes the concept and types of the flip-flop in the SQL Server application program design, and gives the SQL Server flip-flop application exampleKey
4、words: SQL Server; Xpa flip-flop; Pack of flip-flop; Data integrity; Database design 引言:随着数据库在多种领域的广泛应用,数据库中数据的完整性越发显得重要,因此,在数据库中如何保证数据的完整性是数据库设计的重要内容之一,数据库的完整性是指数据库中数据的正确性、有效性和相容性,它是为了防止数据库中存在不符合语义规定的数据和防止系统输入/输出无效信息,在各种关系型数据库中为保证数据的完整性通常采用规则、Check约束、默认、存储过程等方案。第一章 触发器的概念及原理11 触发器的概念触发器是SQL Server为
5、应用程序开发人员提供的一种保证数据库中数据完整性的方法,它是一种特殊的存储过程,但它和一般的存储过程有本质的区别,存储过程可以由用户直接调用执行,而触发器不能被直接调用执行。目前大多数关系型数据库系统均支持对数据库触发器的使用.触发器通过维持不同表中逻辑上相关数据的一致性,保持了数据的相关完整性。1.2 触发器的工作原理SQL Server 2000为每个触发器都创建两个由系统来维护的不允许用户直接进行修改的逻辑概念表,即Deleted表和Inserted表.它们存放于内存中,不存放在数据库中,这两个表的结构总是与被触发器作用的表的结构相同,以用于保存用户操作可能更改的行的旧值或者新值,触发器
6、工作完成后,与触发器相关的这两个表也被自动删除,而用户却不能对表中数据进行更改,Inserted表用于存储Insert和Update语句所影响的行的副本,在一个插入或更新事务处理中,新建行被同时添加到Inserted表和触发器表中。Inserted表中的行是触发器表和新行的副本,Deleted表用于存储Delete和Update语句所影响的行的副本,在执行Delete和Update语句时,行从触发器表中被删除,并传输到Deleted表中,在对具有触发器的表(触发器表)进行操作时,其操作过程如下: 执行INSERT操作,插入到触发器表中的新行被插入到Inserted表中; 执行Delete操作,
7、从触发器表中删除的行被插入到Deleted表中; 执行UPDATE操作,先从触发器表中删除旧行,然后再插入新行,其中被删除的旧行被插入到Deleted表中,插入的新行被插入到Inserted表中。第二章 触发器的创建、删除、修改1.1 触发器是一种特殊的存储过程:它不能被显式地调用而是在往表中插入记录更新记录或者删除记录时被自动地激活。所以触发器可以用来实现对表实施复杂的完整性约束。 1.2 SQL Server为每个触发器都创建了两个专用表Inserted表和Deleted表。这两个表由系统来维护它们存在于内存中而不是在数据库中。这两个表的结构总是与被该触发器作用的表的结构相同。触发器执行
8、完成后与该触发器相关的这两个表也被删除。Deleted表存放由于执行Delete或Update语句而要从表中删除的所有行。Inserted表存放由于执行Insert或Update语句而要向表中插入的所有行。1.3 Instead of 和 After触发器SQL Server2000提供了两种触发器Instead of 和After 触发器。这两种触发器的差别在于他们被激活的同 Instead of触发器用于替代引起触发器执行的T-SQL语句。除表之外Instead of 触发器也可以用于视图用来扩展视图可以支持的更新操作。 After触发器在一个Insert,Update或Deleted语句
9、之后执行进行约束检查等动作都在After触发器被激活之前发生。After触发器只能用于表。一个表或视图的每一个修改动作(insert,update和delete)都可以有一个nstead of 触发器,一个表的每个修改动作都可以有多个After触发器。1.4 触发器的执行过程如果一个Insertupdate或者delete语句违反了约束那幺After触发器不会执行因为对约束的检查是在After触发器被激动之前发生的。所以After触发器不能超越约束。 Instead of 触发器可以取代激发它的操作来执行。它在Inserted表和Deleted表刚刚建立其它任何操作还没有发生时被执行。因为In
10、stead of 触发器在约束之前执行所以它可以对约束进行一些预处理。 1.5 使用T-SQL语句来创建触发器基本语句如下 create trigger trigger_name on table_name | view_name for | After | Instead of insert, update,delete as sql_statement1.6 删除触发器:基本语句如下 drop trigger trigger_name1.7 查看数据库中已有触发器:- 查看数据库已有触发器use jxcSoftwaregoselect * from sysobjects where xty
11、pe=TR- 查看单个触发器exec sp_helptext 触发器名1.8 修改触发器:基本语句如下 alter trigger trigger_name on table_name | view_name for | After | Instead of insert, update,delete as sql_statement 1.9 相关示例 1)在Orders表中建立触发器当向Orders表中插入一条订单记录时检查goods表的货品状态status是否为1(正在整理)是则不能往Orders表加入该订单。create trigger orderinserton ordersafter
12、 insertas if (select status from goods,insertedwhere goods.name=inserted.goodsname)=1beginprint the goods is being processedprint the order cannot be committedrollback transaction -回滚避免加入end 2)在Orders表建立一个插入触发器在添加一条订单时减少Goods表相应的货品记录中的库存。create trigger orderinsert1on ordersafter insertasupdate goods
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SQL Server 2000触发器技术及应用 毕业论文 2000 触发器 技术 应用
链接地址:https://www.31doc.com/p-3903045.html