董少云 李苹 毛伟 高江涛 张云飞
摘要:以“学生成绩管理系统”为例,阐述了SQL Server触发器在开发数据库应用系统时,保证数据参照完整性及级联操作方面的应用。
关键词:SQL Server;触发器;综合性实验
中图分类号:TP311文献标识码:A文章编号:1009-3044(2012)16-3773-02
Applications of SQL Server Triggers on the Comprehensive Experiment of the Database
DONG Shao-yun , LI Ping, MAO Wei, GAO Jiang-tao, ZHANG Yun-fei
(College of Computer Science & Engineering,Qujing Normal University,Qujing 655011,China)
Abstract: Taking the case of“management system of students achievement”,describes the applications of the SQL Serve triggers in the de velopment of database application systems to ensure that referential integrity and cascade operation in the application.
Key words: SQL Server; trigger; comprehensive experiment
触发器是用户定义在表上的一类特殊的存储过程,它是开发数据库应用系统的重要技术。触发器常常用于数据库应用系统的强制业务规则和数据完整性方面,可以通过级联的方式对相关的表进行修改。[1]当在数据库的表上发生数据插入或更新操作时,SQL Server将自动执行触发器,保证表中数据的参照完整性约束。
1触发器的功能及原理
触发器在保证数据完整性方面具有如下功能:
1)可以禁止违反数据完整性的插入和更新。
2)可以通过级联方式对相关表进行更新,更新被参照表时会自动修改参照表中的数据。
根据对表中数据的更新动作,触发器可以分为更新触发器、插入触发器和删除触发器。根据触发器生效的时间,触发器可以分为INSTEAD OF触发器、AFTER触发器。
建立触发器时,可以引用SQL Server提供的deleted表和inserted表。删除数据时,deleted表中存放已经删除的值。插入数据时,inserted表中存放新插入的值。修改数据时,deleted表中存放原值,inserted表中存放修改后的值。
一个触发器与定义触发器的表、激活动作、触发动作三个部分相关。
2触发器的应用
“学生成绩管理系统”数据库中包括三张表:学生表(学号,姓名,性别,出生日期,已修学分),课程表(课程号,课程名,先修课,学分),成绩表(学号,课程号,成绩)。……