- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
SQL Server中触发器与约束应用比较
SQL Server中触发器与约束应用比较
摘要:SQL Server提供了两种主要机制来强制执行业务规则和数据完整性:约束和触发器。约束主要用于确保输入到列中的数据满足特定的条件。触发器是一种特殊类型的存储过程,当表中的数据发生更新时将自动调以响应insert、update、delete语句。
关键词:约束;触发器;数据完整性
中图分类号:TP311文献标识码:A文章编号:1009-3044(2012)01-0003-02
SQL Server Triggers and Constraints in the Application of Comparison
GAO Shui-juan
Abstract: SQL Server provides two main mechanisms to enforce business rules and data integrity: constraint and trigger. Tie main is used to ensure that the input to the data in the column satisfy certain conditions. Trigger is a special procedure, when the data in the table is updated automatically adjusted in response to insert, update, delete statement.
Key words: constraint; trigger; data integrity
SQL Server提供了两种主要机制???强制执行业务规则和数据完整性:约束和触发器。约束主要被用于强制数据的完整性,约束也能提供比触发器更好的性能。然而,在所能完成的操作,以及完成工作时所能使用约束是有限制的。触发器则常被用于验证业务规则,或是更复杂的数据验证,然后可以对数据库的其他地方的数据完成更深入的更新。约束只能对其所在表中的数据,或是在设计时输入的特定数据进行验证。这同触发器形成对比,触发器可以跨越数据库甚至服务器,可以对任何在设计时设置的数据,或从任何表上的其他行为所收集的数据进行检查。如果所需要的访问权限被给予所有包含的对象,就可以使用触发器的这些功能。
有时候当触发器要进行的是一项非常简单的验证任务时,在构建约束和触发器之间区别就很细微。在这种情况下,如果要处理的是有关数据完整性的内容,则使用约束,这比使用触发器可以提供更好的性能。如果该对象是针对业务规则而被构建,并且可能需要复杂的验证,需要处理多个数据库或服务器,或是要相关的错误处理,那么就应该构建触发器。例如,如果需要针对一个表上的操作(更新,删除等)结果,对另一个数据库中的表进行更改,则必须使用触发器。如果从生产数据库中,对另外的数据库保持审核捕获,就会遇到这种情况。如果要做的事情很简单,如对数据域进行验证,看看其中所包含的值是否在一个指定的范围内,这时使用约束就足够了。
约束本质上是SQL Server放置在列上的一种检查,用以确保输入到列中的数据满足特定的条件。这样可以防止输入错误的数据,从而避免数据不一致。如为学生信息表student中的性别字段sex添加检查约束,要求性别字段的值只能是男或女。程序如下:
--假定数据库sdb、学生信息表student已建立
use studb
go
alter table student
add constraint ck_sex check (sex=’男’or sex=’女’)
go
若在性别字段插入其他的值,即会发出警告,如图1所示。
触发器的应用以学生成绩管理系统为例,现假定该系统的数据设计需要两张表:学生信息表(student)存放学生的基本信息,学生成绩表(score)存放学生的成绩信息。现在所要求的功能为:当向学生成绩表中插入一条记录的时候,新记录的学生信息必须存放在学生信息表中。程序如下:
--假定数据库sdb已建立
use sdb
go
--创建学生信息表student
create table student
(sno char(8) not null, sname char(8) not null, sex char(2),birthday datetime, class char(5))
go
--创建学生成绩表score
create table score
(sno char(8) not null, sname char
您可能关注的文档
- 高速公路路基工程中病害及对策分析.doc
- 高速公路路基状况检测及防治方法探讨.doc
- 高速公路隧道LED灯具照明应用研究.doc
- 高速涡轮牙钻与微创拔牙刀在阻生牙拔除术中临床应用.doc
- 高速涡轮钻拔除下颌阻生牙与传统阻生牙拔除法临床对比.doc
- 高速铁路隧道竖井位置对瞬变压力影响研究.doc
- 高锰酸钾溶液足浴治疗糖尿病足部溃疡护理观察.doc
- 高铁供电系统电磁干扰及其抑制施工技术研究.doc
- 高频彩色多普勒超声对乳腺癌诊断价值.doc
- 高频彩色多普勒超声对乳腺癌诊断分析.doc
- 2023年奉节县直属机关遴选公务员考试真题汇编带答案解析.docx
- 2023年宜宾市直遴选考试真题汇编及答案解析(夺冠).docx
- 2023年商丘市直机关遴选公务员笔试真题汇编附答案解析(夺冠).docx
- 2023年哈密地区选调公务员笔试真题汇编含答案解析(夺冠).docx
- 2025年昌吉州遴选公务员笔试真题汇编附答案解析.docx
- 2023年大同市直机关遴选公务员笔试真题汇编附答案解析 (2).docx
- 2023年吐鲁番地区税务系统遴选笔试真题汇编附答案解析.docx
- 2023年无锡市遴选公务员考试真题汇编及答案解析(夺冠).docx
- 2023年呼和浩特市直属机关遴选公务员笔试真题汇编及答案解析(夺冠).docx
- 2023年包头市直属机关遴选公务员考试真题汇编带答案解析.docx
原创力文档


文档评论(0)