WEB开发网
开发学院数据库MSSQL Server SQL触发器在保持数据库完整性中的实际应用 阅读

SQL触发器在保持数据库完整性中的实际应用

 2008-09-02 09:59:12 来源:WEB开发网   
核心提示: create trigger [DelTopic] on [dbo].[BBS_Topic]after deleteasBEGINdeclare @tid intselect @tid=TID from deleted --获得要被删除的帖子IDdelete from dbo.BBS_Re

  create trigger [DelTopic] on [dbo].[BBS_Topic]
  
  after delete
  
  as
  
  BEGIN
  
  declare @tid int
  
  select @tid=TID from deleted --获得要被删除的帖子ID
  
  delete from dbo.BBS_Reply where TID=@tid
  
  END

执行过程

触发器执行过程如图Pic-2。

SQL触发器在保持数据库完整性中的实际应用

当数据操作层对数据表BBS_Type发出delete一条记录的时候,触发器DelType被触发,此触发器将删除BBS_LanMu表中属于刚删除的大版块的所有分论坛信息。

当DelType触发器对数据表BBS_LanMu删除一条记录时,又触发BBS_LanMu表上的触发器DelLanmu,此触发器将删除BBS_Topic表中属于刚删除分论坛的所有帖子信息。

当DelLanmu触发器对数据表BBS_Topic删除一条记录时,又触发触发器DelTopic,此触发器将删除BBS_Reply表中属于刚删除帖子的所有回复信息。

至此数据库中与BBS_Type中删除记录相关联的所有记录全部删除,保证了数据库各表数据的完整性与一致性。这个过程是在数据库中自动进行的,因此速度非常快,用户只需要对BBS_Type表发出删除一条记录的命令,其他表中相关的记录会自动删除。

3.1.总结:

触发器能保持数据的完整性与一致性,它可以方便地基于一个表的修改,自动更新其他相关表的记录,以保证数据的完整性。在数据库的应用中,触发器扮演着很重要的角色。无论是作为提供高级参照完整性功能的途径,还是执行自动维护非正规化数据的任务,触发器都能帮助用户实现满足实际需要的规则,简化业务逻辑,并使系统更方便更有效。

上一页  1 2 3 4 5 

Tags:SQL 触发器 保持

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接