版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第5章数据库编程
5.4存储过程
5.4.1系统存储概述5.3.2自定义函数5.1编程基础5.2游标5.3函数 5.3.1系统函数 5.3.2自定义函数 1标量型函数 2表值型函数 5.3.3管理自定义函数5.4存储过程5.5触发器5.6事务与锁5.7实训:商店管理系统的编程5.4存储过程5.1编程基础5.2游标5.3函数5.4存储过程 5.4.1存储过程概述 5.4.2系统存储过程 5.4.3自定义存储过程 5.4.4影响行数和错误号 5.4.5存储过程实例 5.4.6管理自定义存储过程5.5触发器5.6事务与锁5.7实训:商店管理系统的编程
5.4.1存储过程概述存储过程(StoredProcedure)是定义在数据库中的一组SQL语句预编译,已优化,效率较高,是执行查询或批的最快方法可以避免大量SQL语句在网络传输,然后再编译的低效率存储过程可以重复使用,减少开发人员的工作量存储过程是大型数据库管理系统的核心,是衡量数据库管理系统优劣的重要指标,也是数据库应用开发中重要的一环5.4.2系统存储过程5.1编程基础5.2游标5.3函数5.4存储过程 5.4.1存储过程概述 5.4.2系统存储过程 5.4.3自定义存储过程 5.4.4影响行数和错误号 5.4.5存储过程实例 5.4.6管理自定义存储过程5.5触发器5.6事务与锁5.7实训:商店管理系统的编程5.4.2系统存储过程SQLServer提供了一系列系统存储过程,用于完成一些预定的任务系统存储过程的名字是以sp_起头的用户自定义的存储过程不应该以sp_起头,以免混淆5.4存储过程5.1编程基础5.2游标5.3函数5.4存储过程 5.4.1存储过程概述 5.4.2系统存储过程 5.4.3自定义存储过程 5.4.4影响行数和错误号 5.4.5存储过程实例 5.4.6管理自定义存储过程5.5触发器5.6事务与锁5.7实训:商店管理系统的编程5.4.3自定义存储过程存储过程的创建Createprocedurep_score@idvarchar(20)asBegin ……--过程体End;go带默认值的参数存储过程的调用输出型参数存储过程的返回信息Execp_score'SW103104';存储过程的创建存储过程的调用5.4.3自定义存储过程——创建和调用5.4.3自定义存储过程——参数创建存储过程的语法格式Createprocedure<存储过程名>[形参列表]asBegin
语句组End;存储过程名:在数据库范围内唯一的标识符,通常以p_起头存储过程不能有return语句,不能直接返回值形参列表的语法格式参数默认值必须是常量或nulloutput表示形参能返回运算结果,调用时可以通过这个形参获得返回的结果形参类型不能是table、text、ntext、image、cursor和timestamp等数据类型@形参1类型[=默认值][output],@形参2类型[=默认值][output],…带默认值的参数输出型参数5.4.3自定义存储过程——参数5.4.3自定义存储过程——返回信息存储过程时返回信息的三种方式输出型参数:返回的信息是标量值Raiserror:返回的是出错信息查询语句:返回的信息是表Createprocedurep_test1asBegin Select*fromtbl_course;End;Createprocedurep_test2@scoreintoutputasBegin Select@score=avg(col_score)fromtbl_score;End;Createprocedurep_test3@scoreintoutput,@course_idintasBegin Select@score=avg(col_score)fromtbl_score whereid_tbl_course=@course_id; If@scoreisnull Begin Raiserror('无法统计成绩。',16,1); End;End;Select查询输出型参数Raiserror5.4.3自定义存储过程——返回信息5.4存储过程5.1编程基础5.2游标5.3函数5.4存储过程 5.4.1存储过程概述 5.4.2系统存储过程 5.4.3自定义存储过程 5.4.4影响行数和错误号 5.4.5存储过程实例 5.4.6管理自定义存储过程5.5触发器5.6事务与锁5.7实训:商店管理系统的编程5.4.4影响行数和错误号在存储过程运行时,需要得到一些状态信息影响行数@@rowCountSelect结果集的行数Insert插入的行数Update成功更新的行数Delete删除成功的行数错误号@@error前一条SQL语句执行时出现的错误没有错误,返回0有错误,返回错误号影响行数错误号5.4.4影响行数和错误号5.4存储过程5.1编程基础5.2游标5.3函数5.4存储过程 5.4.1存储过程概述 5.4.2系统存储过程 5.4.3自定义存储过程 5.4.4影响行数和错误号 5.4.5存储过程实例 5.4.6管理自定义存储过程5.5触发器5.6事务与锁5.7实训:商店管理系统的编程5.4.5存储过程实例存储过程名:p_add_score参数:@cnamevarchar(50):指定课程名称@studentNovarchar(20):指定学生学号@scoreint:将要插入或更新的成绩@idintoutput:返回的信息,输出型参数功能:插入或更新该学生该课程的成绩如果该学生该课程的成绩已存在,更新成绩为新的值如果成绩不存在,插入一行返回信息@id为零:表示更新@id不为零:表示新插入行的主键值5.4.5存储过程实例从学号查询学生主键YN更新行查询该生该课程的成绩插入行YNY从课程名称查询课程主键N5.4.5存储过程实例5.4存储过程5.1编程基础5.2游标5.3函数5.4存储过程 5.4.1存储过程概述 5.4.2系统存储过程 5.4.3自定义存储过程 5.4.4影响行数和错误号 5.4.5存储过程实例 5.4.6管理自定义存储过程5.5触发器5.6事务与锁5.7实训:商店管理系统的编程5.4.6管理自定义存储过程查看自定义存储过程列表查看自定义存储过程定义变更自定义存储过程的定义丢弃自定义存储过程Select* fromsysobjects wheretype=‘P';E
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年校园招聘考试试题含答案(综合卷)
- 咨询服务合同(2025年摄影服务协议)
- 远程患者监护合同协议2025
- 劳务派遣协议书约定管辖
- 2025 年高职服装工艺与设计(服装工艺设计)试题及答案
- 2025 年高职电子观测技术(电子观测应用)试题及答案
- 安全课件生产安全
- 安全课件教学资源
- Z-Flupenthixol-decanoate-生命科学试剂-MCE
- 2.《烛之武退秦师》课件++2025-2026学年统编版高一语文必修下册
- DB31/ 807.1-2014重点单位保安服务要求第1部分:基本要求
- 提优点7 衍生数列问题
- 2025-2030中国制药工业AGV行业市场发展趋势与前景展望战略研究报告
- 工程造价审计服务投标方案(技术方案)
- 工程质量通病防治手册(房建类)
- 采购石粉合同协议
- 驾考试题100道及答案
- 2025潍坊护理职业学院辅导员考试题库
- 麻醉科工作总结
- 弹塑性力学完整版本
- 小学生预防寄生虫
评论
0/150
提交评论