欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    数据库原理及应用存储过程和触发器.pptx

    • 资源ID:87267306       资源大小:143.59KB        全文页数:28页
    • 资源格式: PPTX        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数据库原理及应用存储过程和触发器.pptx

    数据库系统概论An Introduction to Database System第9章存储过程和触发器第1页/共28页教学目标:掌握存储过程和触发器的基本概念,学会编写简单的存储过程和触发器,对存储过程和触发器的实际应用有较好的理解。第2页/共28页第9章 存储过程和触发器9.1存储过程9.2触发器第3页/共28页9.1存储过程存储过程的基本知识创建用户存储过程存储过程的参数第4页/共28页存储过程的基本知识存储过程(Stored Procedure)是一组编译好存储在服务器上的完成特定功能T-SQL代码,是某数据库的对象。客户端应用程序可以通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行存储过程。Sp(x,y)客户:sp(1,2)第5页/共28页存储过程的基本知识 使用存储过程而不使用存储在客户端计算机本地的 T-SQL 程序的优点包括:允许标准组件式编程,增强重用性和共享性能够实现较快的执行速度能够减少网络流量可被作为一种安全机制来充分利用第6页/共28页存储过程的基本知识在SQL Server 2005中存储过程分为5类:系统:系统提供的存储过程,sp_*,例如:sp_rename扩展:SQL Server环境之外的动态链接库DLL,xp_远程:远程服务器上的存储过程用户:创建在用户数据库中的存储过程临时:属于用户存储过程,#开头(局部:一个用户会话),#(全局:所有用户会话)第7页/共28页创建用户存储过程格式:CREATE PROC 过程名形参名 类型变参名 类型 OUTPUTAS SQL语句第8页/共28页创建用户存储过程例:创建一个多表查询的存储过程。USE LibraryGOCREATE PROCEDURE borrowed_book1ASSELECT r.RID,r.Rname,b.BID,k.Bname,b.LendDateFROM reader r INNER JOIN borrow bON r.RID=b.RID INNER JOIN book kON b.BID=k.BIDWHERE Rname=程鹏执行存储过程:borrowed_book1 或EXEC borrowed_book1第9页/共28页存储过程的参数例:输入参数为某人的名字。USE LibraryGOCREATE PROCEDURE borrowed_book2name varchar(10)-形式参数AsSELECT r.RID,r.Rname,b.BID,k.Bname,b.LendDateFROM reader r INNER JOIN borrow bON r.RID=b.RID INNER JOIN book kON b.BID=k.BIDWHERE Rname=nameGO直接传值:EXEC borrowed_book2 程鹏 -实参表变量传值:DECLARE temp1 char(20)SET temp1=杨树华EXEC borrowed_book2 temp1 -实参表第10页/共28页存储过程的参数例:使用默认参数USE LibraryGOCREATE PROCEDURE borrowed_book3name varchar(10)=NULL -默认参数ASIF name IS NULL SELECT r.RID,r.Rname,b.BID,k.Bname,b.LendDate FROM reader r INNER JOIN borrow b ON r.RID=b.RID INNER JOIN book k ON b.BID=k.BIDELSE SELECT r.RID,r.Rname,b.BID,k.Bname,b.LendDate FROM reader r INNER JOIN borrow b ON r.RID=b.RID INNER JOIN book k ON b.BID=k.BID WHERE Rname=nameGO执行存储过程:EXEC borrowed_book3第11页/共28页存储过程的参数例:利用输出参数计算阶乘。USE LibraryIF EXISTS(SELECT name FROM sysobjects WHERE name=factorial AND type=P)DROP PROCEDURE factorialGOCREATE PROCEDURE factorial in float,-输入形式参数 out float OUTPUT -输出形式参数ASDECLARE i intDECLARE s floatSET i=1SET s=1WHILE i0 PRINT 没有过期!ELSE PRINT 过期+convert(char(6),days)+天GO应用:USE LibraryUPDATE borrow SET ReturnDate=2007-12-12WHERE RID=2000186010 and BID=TP85-08GO第20页/共28页创建DML触发器例:对Library库中Reader表的 DELETE操作定义触发器。USE LibraryGOIF EXISTS(SELECT name FROM sysobjects WHERE name=reader_d AND type=TR)DROP TRIGGER reader_dGOCREATE TRIGGER reader_dON ReaderFOR DELETEASDECLARE data_yj intSELECT data_yj=LendnumFROM deletedIF data_yj0 BEGIN PRINT 该读者不能删除!还有+convert(char(2),data_yj)+本书没还。ROLLBACK ENDELSE PRINT 该读者已被删除!GO应用:USE LibraryGODELETE Reader WHERE RID=2005216119 第21页/共28页创建DDL触发器语法形式:CREATE TRIGGER trigger_name ON ALL SERVER|DATABASEWITH ,.n FOR|AFTER event_type|event_group,.nAS sql_statement;.n|EXTERNAL NAME;第22页/共28页创建DDL触发器例:使用DDL触发器来防止数据库中的任一表被修改或删除。CREATE TRIGGER safetyON DATABASE FOR DROP_TABLE,ALTER_TABLEASPRINT You must disable Trigger safety to drop or alter tables!ROLLBACK 第23页/共28页创建DDL触发器例:使用 DDL 触发器来防止在数据库中创建表。CREATE TRIGGER safetyON DATABASEFOR CREATE_TABLEASPRINT CREATE TABLE Issued.SELECTEVENTDATA().value(/EVENT_INSTANCE/TSQLCommand/CommandText)1,nvarchar(max)RAISERROR(New tables cannot be created in this database.,16,1)ROLLBACK 第24页/共28页修改触发器ALTER TRIGGER trigger_name第25页/共28页删除触发器DROP TRIGGER trigger_name第26页/共28页查看触发器sp_helptext trigger_namesp_helptrigger table_name第27页/共28页感谢您的观看!第28页/共28页

    注意事项

    本文(数据库原理及应用存储过程和触发器.pptx)为本站会员(莉***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开