[计算机]使用存储过程实现进销存系统的业务逻辑ppt课件_第1页
[计算机]使用存储过程实现进销存系统的业务逻辑ppt课件_第2页
[计算机]使用存储过程实现进销存系统的业务逻辑ppt课件_第3页
[计算机]使用存储过程实现进销存系统的业务逻辑ppt课件_第4页
[计算机]使用存储过程实现进销存系统的业务逻辑ppt课件_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第六章 使用存储过程进步进销存系统的执行效率 终极目的:能根据需要灵敏、快速地创立存储过程 计算机应用教研室本次课的学习目的学习目的1.1.理解存储过程理解存储过程2.2.掌握存储过程的定义与使用掌握存储过程的定义与使用学习重点:掌握带输入参数和输出参数的存储过程的掌握带输入参数和输出参数的存储过程的使用使用6.1 工作任务任务:待审核入出库单项选择择功能的选择描绘: 此功能从没有审核的入库单的汇总数据中选择需要审核的入出库单,重点是此功能提供了通用查询的实现方式6.1 工作任务6.2 存储过程的优点可以提供对数据的轻松访问,客户端不需要知道复杂的数据构造或业务逻辑过程,只要把查询指令通过存储

2、过程发给效劳器,效劳就把需要的数据返回给用户.利用效劳器强大的计算才能和速度,防止了把大量的数据从效劳器下载到客户端,减少了网络上传输量效劳器只用把计算结果给客户端,可进步客户端工作的效率. 6.3 存储过程的分类大体分为以下两类:1.1.系统存储过程系统存储过程. .sql server有大量的系统存储过程,用于管理sql server并显示有关数据库和用户的信息.以sp_开关,用户一般不用sp_开头的存储过程.扩展存储过程:xp_,如xp_cmdshell2.2.用户自定义存储过程用户自定义存储过程. .用于解决用于的需要而建立的存储过程.按返回数据类型分为两类:1.1.类似于类似于sel

3、ectselect查询查询, ,用于检索数据用于检索数据, ,检索到的数据可以以结检索到的数据可以以结果集的形式返回给客户端果集的形式返回给客户端. .2.2.通过输出参数返回信息或不返回信息通过输出参数返回信息或不返回信息, ,或只执行一个动作或只执行一个动作. .6.4 存储过程的定义语法格式Create Procedure|Proc 存储过程名称参数名称 参数类型 output,参数名称1 参数类型 output.As T-SQL语句实现的业务逻辑6.5 无参数存储过程的创立语法Create Proc 存储过程名称 asT-SQL语句6.5 无参数存储过程的创立【例】定义存储过程up_G

4、etDay输出当前日期所在月份的第一天和最后一天create proc up_getdayasdeclare days int, st datetime, ed datetime select days=daygetdate -1select st=dateaddday,days*-1,getdateselect ed=dateaddday,-1,dateaddmonth,1,stselect st as StDate,ed as EdDate6.5 无参数存储过程的调用1、Execute存储过程名称2、Exec 存储过程名称3、存储过程名称Execute up_getdayExec up_g

5、etdayUp_getday6.6 有参数存储过程的定义语法格式Create Procedure|Proc 存储过程名称参数名称 参数类型 ,参数名称1 参数类型 .As T-SQL语句实现的业务逻辑6.6 有参数存储过程的定义【例】定义存储过程up_GetEndDay,输入参数年月YYYYMM,输入参数名称ym int,输出参数所在月份的最后一天Create proc up_getEndDayym intasdeclare days int, st datetime, ed datetime select st=convertvarchar8,ym+01select days=dayst -

6、1select ed=dateaddday,-1,dateaddmonth,1,stselect ed as ed6.6 有参数存储过程的定义【例】定义存储过程up_StudentQuery ,输入参数cno,Sno,Sname,检索学生课程成绩信息,输出学号,姓名,课程编号,课程名称,成绩6.6 有参数存储过程的定义6.6 有参数存储过程的定义Create proc up_studentquery cno int ,sno varchar10,sname varchar10Asselect c.学号,c.姓名,a.课程编号,a.课程名称,b.成绩from 课程 a inner join 学生

7、成绩 b on a.课程编号=b.课程编号join 学生 c on b.学号=c.学号where a.课程编号=cno or cno=0 and c.学号=sno or sno= and c.姓名=sname or sname=6.6 有参数存储过程的调用Exec 存储过程名 参数值,参数值1。必须按参数声明顺序输入参数值Exec 存储过程名 参数名=参数值, 参数名=参数值。可不按参数声明顺序输入参数值Up_getEndDay 202020Exec Up_getEndDay 202020Exec Up_getEndDay ym=202020Exec up_studentquery Sno=

8、,cno=0,sname=6.7 带参数的存储过程的定义语法格式Create Procedure|Proc 存储过程名称参数名称 参数类型 output,参数名称1 参数类型 output.As T-SQL语句实现的业务逻辑6.7 带参数的存储过程的定义 什么时候用output 参数?当当select select 语句返回一个值语句返回一个值而不是一个值集而不是一个值集时时, ,可以用可以用output output 参数来返回值参数来返回值. .【例】使用output创立一个存储过程CREATE PROCEDURE do_insert ASINSERT INTO 学生 VALUES0912

9、01, 陶伟,男, 1359444, ;再创立一个存储过程CREATE PROCEDURE do_action X char2, STR CHAR8 OUTPUT ASBEGIN EXEC do_insertIF X=男BEGINUPDATE 学生 SET 姓名=刘英, 性别=女 WHERE 学号=091201SET STR=修改成功ENDELSEIF X=女BEGINDELETE FROM 学生 WHERE 学号=091201SET STR=删除成功ENDEND调用和输出DECLARE str char8EXEC do_action 男, str OUTPUTSELECT str;5.加密的

10、存储过程if exists select name from sysobjectswhere name = encrypt_this and type = pdrop procedure encrypt_thisgocreate procedure encrypt_this with encryptionasselect * from xsgo6.注意:一般的存储过程在创立后一般的存储过程在创立后, ,可利用可利用sp_helptextsp_helptext进展查看创立的命令进展查看创立的命令. .做为一个加密存储过程做为一个加密存储过程, ,利用该命令的结果为利用该命令的结果为: :也可以直

11、接在查询分析器中对存储过程进展编也可以直接在查询分析器中对存储过程进展编辑辑: :修改存储过程1.界面2.命令 alter不返回值的存储过程公司进货时,让库存表中的数量自动进展增加.库存表库存表货物编号货物编号, ,货物名称货物名称, ,货物数量货物数量creaet proc ccreaet proc c1 char1 char2020,1 float,1 floatasasupdate update 库存表库存表set set 货物数量货物数量= =货物数量货物数量+1+1where where 货物编号货物编号= 1= 1 删除存储过程根本语句格式删除存储过程DROP PROCEDURE 存储过程名存储过程名例例:删除上面所建存储过程删除上面所建存储过程encrypt_this Drop procedure encrypt_this 常用系统存储过程sp_helpsp_helpsp_renamesp_rename存储过程sp_help显示存储过程的参数及其数据类型 根本语句格式返回sp_help objname= name存储过程的名称

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论