



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验图书馆日常事务管理系统触发器的创建和管理1.创建触发器(1)使用SSMS建触发器在TSJYMS数据库的图书类别表上创建一个名为tslb_insert_trigger的触发器,当执行INSERT操作时,该触发器被触发,禁止插入记录。CREATE TRIGGER tslb_insert_trigger ON 图书类别FOR INSERTASBEGINPRINT(禁止插入记录!)ROLLBACK TRANSACTIONEND(2)使用T-SQL语句创建触发器 在TSJYMS数据库的图书明细表上创建一个名为ts_delete_trigger的触发器,当执行DELETE操作时,该触发器被触发,禁止删除记录。CREATE TRIGGER ts_delete_trigger ON 图书明细表FOR DELETEASBEGINPRINT(禁止删除记录!)ROLLBACK TRANSACTIONEND 在TSJYMS数据库的借还明细表上创建一个名为jhmx_update_trigger的触发器,当执行UPDARE操作时,该触发器被触发,不允许修改表中的图书编号。CREATE TRIGGER jhmx_update_trigger ON 借还明细表INSTEAD OF UPDATEASIF UPDATE(图书编号)PRINT(禁止删除记录!)2)多表级联更改触发器的创建 在TSJYMS数据库的读者信息表上创建一个名为dzxx_insert_trigger的触发器,当在读者信息表中插入记录时,将该记录中的借书证号自动插入借还明细表中。CREATE TRIGGER dzxx_insert_trigger ON 读者信息FOR INSERTASDECLARE NUM CHAR(20)SELECT NUM =借书证号FROM INSERTEDINSERT 借还明细表(借书证号)VALUES(NUM) 在TSJYMS数据库的图书明细表上创建一个名称为tsmx_update_trigger触发器,当修改图书明细表中的图书编号时,如果借还明细表中引用了该图书编号,则禁止修改,并提示“不能修改!”CREATE TRIGGER tsmx_update_trigger ON 图书明细表FOR UPDATEASIF UPDATE(图书编号)BEGINDECLARE BIANHAO CHAR(20)SELECT BIANHAO =DELETED.图书编号FROM DELETEDIF EXISTS (SELECT 图书编号 FROM 借还明细表 WHERE 图书编号=BIANHAO)BEGIN PRINT(用户不能修改!)ROLLBACK TRANSACTIONENDELSEPRINT(修改完成!)END3)触发器功能验证对所创建的各种触发器进行功能验证,检查其设计的正确性。tslb_insert_trigger验证代码:INSERT 图书类别 VALUES(3333,3333)ts_delete_trigger验证代码:DELETE 图书明细表 WHERE 图书名称=文化苦旅jhmx_update_trigger验证代码:UPDATE 借还明细表 SET 图书编号=12121212 WHERE 图书编号=29307142 dzxx_insert_trigger验证代码:INSERT 读者信息(借书证号,姓名,性别) VALUES(0312111002,张娜,女)tsmx_update_trigger验证代码:UPDATE 图书明细表SET 图书编号=12121212 WHERE 图书编号=990118184)查看触发器 通过SSMS查看图书明细表上的触发器。 使用系统存储过程sp_help、sp_helptext、sp_depends 查看读者信息表上的dzxx_insert_trigger触发器,使用sp_helptrigger查看图书明细表上的所有触发器类型。EXEC sp_help dzxx_insert_triggerEXEC sp_helptext dzxx_insert_trigger EXEC sp_depends dzxx_insert_trigger EXEC sp_helptrigger 图书明细表5)修改触发器修改TSJYMS数据库中图书类别表上建立的tslb_insert_trigger的触发器,当执行INSERT、UPDATE操作时,该触发器被触发,自动发出报警信息“禁止插入和修改!”。ALTER TRIGGER tslb_insert_trigger ON 图书类别FOR INSERT,UPDATE AS BEGIN PRINT(禁止插入和修改!)ROLLBACK TRANSACTION END6)触发器的禁止或启用禁止或启用TSJYMS数据库中借还明细表上创建的jhmx_update_trigger的触发器。ALTER TABLE 借还明细表 DISABLE TRIGGER jhmx_update_trigger ALTER TABLE 借还明细表 ENABLE TRIGGER jhmx_update_trigger7)删除触发器(1)使用SSMS删除删除图书类别表上的触发器。表,触发器,右击,删除(2)使用T-SQL语句删除使用T-SQL语句删除图书明细表上的所有触发器。DROP TRIGGER tsmx_update_triggerSQL Server 用户定义函数的创建。(1)创建一个自定义函数age(),根据某读者的出生日期返回该读者的年龄。CREATE FUNCTION AGE(BIRTH DATETIME)RETURNS TABLE AS RETURN (SELECT YEAR(GETDATE()-YEAR(出生日期) AS 年龄 FROM 读者信息 WHERE 出生日期=BIRTH)调用:SELECT * FROM AGE(1989-08-18)(2) 创建一个自定义函数book_info(),根据图书编号返回该书的书名、出版社和库存数。CREATE FUNCTION BOOK_INFO(BIAOHAO CHAR(10)RETURNS TABLEASRETURN( SELECT 图书名称,出版社,库存数 FROM 图书明细表WHERE 图书编号=BIANHAO)调用:SELECT * FROM BOOK_INFO(00000746)(3) 创建一个自定义函数read_info(),根据借书证号返回该读者借书的情况。CREATE FUNCTION read_info(NUM CHAR(10)RETURNS TABLEASRETURN( SELECT * FROM 图书借阅明细表WHERE 图书编号=num)调用:SELECT * fFROM read_info( 29307142 )(3) 修改自定义函数age(),根据某读者的借书证号返回该读者的年龄。ALTER FUNCTION AGE(NUM INT)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025简单的门面租赁合同2篇
- 科研实验室装修合同
- 起重机械安装合同5篇
- 代理租车合同(标准版)
- 售土地合同(标准版)
- 配件销售合同(标准版)
- 成品翡翠寄售合同范本
- 汽车拆解收购合同范本
- 手工龟苓膏采购合同范本
- 合作养猪的合同范本
- 《财税高薪就业陪跑训练营介绍》序-朱海明(中国最励志的讲师之一)著 - 2稿
- 高二上学期数学开学第一课《新学期新期望》课件
- 数字经济背景下企业商业模式创新
- 高中语文人教版高一必修《李白将进酒》教育教学课件
- 设备购销合同详细范本
- 加装电梯补偿协议书范文模板
- 远古帝王世系表
- 国家基层糖尿病神经病变诊治指南(2024版)
- 人体常见病 知到智慧树网课答案
- 《电力建设施工技术规范 第3部分:汽轮发电机组》DLT 5190.3
- 重大版小学英语六年级上册全册教案
评论
0/150
提交评论