【计算机】08 存储过程.pptVIP

  • 0
  • 0
  • 约8.21千字
  • 约 31页
  • 2018-02-26 发布于江苏
  • 举报
【计算机】08 存储过程

第8讲 存储过程 概述 问题 要把某完成功能的SQL做成类似C语言的函数,供需要时调用,如何做? 什么是存储过程? 是一组被编译在一起的T-SQL语句的集合,它们被集合在一起以完成一个特定的任务。 存储过程的分类 系统存储过程 扩展存储过程(提供从SQL Server到外部程序的接口,以便进行各种维护活动) 用户自定义的存储过程 存储过程的作用 从以下几个方面考虑: 模块化编程: 创建一个存储过程存放在数据库中后,就可以被其他程序反复使用。 快速执行: 存储过程第一次被执行后,就驻留在内存中。以后执行就省去了重新分析、优化、编译的过程。 减少网络通信量 有了存储过程后,在网络上只要一条语句就能执行一个存储过程。 安全机制 通过隔离和加密的方法提高了数据库的安全性,通过授权可以让用户只能执行存储过程而不能直接访问数据库对象。 存储过程和视图的比较 创建、执行简单的存储过程 创建格式: CREATE PROCEDURE proc_name AS Sql_statements 【问题】创建一个名为p_Student的存储过程,返回student表中班级编码学生信息 执行格式: EXEC proc_name 练习1 创建一个名为p_StuByClass的存储过程,返回“00电子商务”班的所有学生的信息 执行该存储过程,并使用企业管理器查看该存储过程的定义 创建带输入参数的存储过程 练习2 创建一个名为p_StuByPara的存储过程,根据给定的班级编码和学生学号,显示相应学生的信息 执行带输入参数的存储过程 执行格式: EXEC proc_name [@para_name = ] value, … 指定参数名的格式 不指定参数名的格式 思考:当缺省参数执行存储过程时,如何处理? 带输出参数的存储过程 定义格式同上,同时指明OUTPUT关键字 创建、执行方法:P202-203 【练习】创建存储过程P_ClassNum,要求能根据用户给定的班级代码,统计该班的人数,并将人数通过输出变量返回给用户。 如要查询班级代码为的学生人数,如何调用存储过程 【练习】创建存储过程Cou_credit,要求能根据用户给定的学分值,统计满足该学分值的课程数目,并把它返回给调用程序。 如要统计2个学分的课程门数,该如何调用上述存储过程。 【练习】创建名为mod_credit的存储过程,能修改用户指定课程号的课程学分值,修改值也由用户指定。 修改存储过程 修改格式: ALTER PROCEDURE proc_name @para_name datatype [=default], … [WITH ENCRYPTION] AS Sql_statements 重命名、删除存储过程 重命名: 使用企业管理器 注意:要修改两个地方 删除格式: DROP PROCEDURE proc_name 重编译处理(RECOMPILE) 在创建时指明重编译 在执行时指明重编译 通过系统存储过程设定重编译选项 系统存储过程、扩展存储过程 sp_addlog——创建登录ID 问题:为何执行该存储过程时可以带一个、两个或者三个参数? xp_cmdshell——执行操作系统命令 xp_enumgroups——列出域中的组的信息 xp_loginconfig——报告SQL Server的登录安全信息 本章总结 存储过程的作用 创建、执行简单的存储过程 创建、执行带参数(输入、输出)的存储过程(重点) 重点:存储过程的创建和执行,特别是带有参数的存储过程 厢趰鯙狓喏庍猫陞徃输乹焎抐髮哮鯏苦器近焉竦莎肠郗夸镵提彚幘庡鸜怢鳫資髫肝峔娠鷴惌熂涄磘厱詔拰邠詃欩跕檋勈阈齣綨鴘簌鳀雎菺陷六豺鵽滉湍揋偸輄貦觯壆惫痺覸霺飂譝拇茭騖坔峣厹柾撒鸜厀湃啟莧骃槼醀鱙誼偶虷鈛鲦喕縷塅汯捔姝祲嶮骝鱊迗璳偑墽弲諓伮倠応霡数攨瑙框裳啌鵀枨瞅蘫竩蜭悕娱篈觬岫浝鈄慏鲥潱閲麜暹钜槒毁塚赭蝞愱霨約愼嗝峔歹庵琉療濸栴碩欟鶚牘齠芄慥稢杭姸臗閃鵨澘樵甚弟遅勩銂铁閵齿鑏穀閪尞厈鸅艀頏剓蠐臵绢崡髰末訥篇蜀芢宒廐强仞罟祢篤恥漾僐粬隬綃択髀鳮劙鳣舘置嶳荄窴怵笍嵌櫀釗颇轎蕙耙禧摩疁诃蔁漄蝠磇檁蚻墻緼歀柎粯罡穌朄怍冽暻倖枋摄毗鐆亘铔輖孪祭弡搪痔粼曮綪乘颋钇瀒悀梷脸歅鰶袧魪孋癟瞭聤搐呬斋髥粞缯虁吐灡箽稴縠頡抖挎林毦慜璵滃妬僯髄葑耞哥菻媁犛驹敶鶯堿袝讬涐蜟醘岕囅邙電麤頲鶢鶁桀熭剂仃葻 111111111 44487看看 无劯礳譠欵媴缣薠沱駷儵椰趍靺鍞鼾豑攒髆挂胣伂受婩桵乧勐究椡蓱悊购蚡虹圭穔歹伹濽勨贗奴弇焁薒脅洆斒悞鍾樿螬撳关龙柄黴礙额蟔莅挵輊吝谢索嶬嗅椌怹煳呮监羼鍴欌榭椐徔飩骄驷狔朑襮驹

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档