任务6 使用存储过程维护论坛管理系统基本信息.ppt_第1页
任务6 使用存储过程维护论坛管理系统基本信息.ppt_第2页
任务6 使用存储过程维护论坛管理系统基本信息.ppt_第3页
任务6 使用存储过程维护论坛管理系统基本信息.ppt_第4页
任务6 使用存储过程维护论坛管理系统基本信息.ppt_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

1、基于工作任务的SQL Server 2008数据库应用,论坛管理系统 任务6 使用存储过程维护论坛管理系统基本信息,任务目标,会使用存储过程获取数据 能使用存储过程修改数据 通过分组,培养学生的沟通能力及团队协作能力 培养学生分析问题解决问题的能力,客户需求,论坛版主在管理论坛时,需要获取如下信息: (1)获取帖子表中的数据。 (2)获取版块中帖子的信息。 (3)根据用户给定的点击率值,获取大于此点击率的版块信息。,任务分析,(1)获取帖子表中的信息需要,执行查询语句。 select * from BBSTopic (2)获取版块的信息需要执行查询语句。 select a.SectorName

2、 版块名称 , b.NickName 版主姓名, a.ClickingRate_1 点击率, a.TopicCount 帖子数 from BBSSector a, BBSAccount b where a.AccountID=b.AccountID (3)使用带参数的存储过程获取版块点击率超过某一用户给定值的版块信息。,任务实施-【信息收集】,存储过程,存储过程(procedure)类似于C语言中的函数 用来执行管理任务或应用复杂的业务规则 存储过程可以带参数,也可以返回结果,任务实施-【信息收集】,存储过程 - - -,单个 SELECT 语句,SELECT 语句块,SELECT语句与逻辑控

3、制语句,可以包含,存储过程可以包含数据操纵语句、变量、逻辑 控制语句等,任务实施-【信息收集】,存储过程优点,执行速度更快 允许模块化程序设计 提高系统安全性 减少网络流通量,任务实施-【信息收集】,系统存储过程,用户自定义存储过程,由系统定义,存放在master数据库中 类似C语言中的系统函数 系统存储过程的名称都以“sp_”开头或”xp_”开头,由用户在自己的数据库中创建的存储过程 类似C语言中的用户自定义函数,任务实施-【信息收集】,任务实施-【信息收集】,创建存储过程,CREATE PROCEDURE 存储过程名 参数1 数据类型 = 默认值 OUTPUT, , 参数n 数据类型 =

4、默认值 OUTPUT AS SQL语句 GO,任务实施-【信息收集】,修改存储过程,使用ALTER PROCEDURE语句修改存储过程,删除存储过程,使用DROP PROCEDURE语句修改存储过程,执行存储过程,使用EXECUTE语句修改存储过程,任务实施-【信息收集】,带参数的存储过程,输入参数 输出参数,任务实施-【信息收集】,RAISERROR 语句,RAISERROR (msg_id | msg_str,severity,state WITH option,.n),msg_id:在sysmessages系统表中指定用户定义错误信息 msg_str:用户定义的特定信息,最长255个字符

5、 severity:定义严重性级别。用户可使用的级别为018级 state:表示错误的状态,1至127之间的值 option:指示是否将错误记录到服务器错误日志中,任务实施-【具体实现】,教师分析数据库 确定使用哪几个表,以及各表存储的数据信息 教师讲解并分析解题思路 教师与学生共同完成存储过程和触发器的设计 调试语法错误和程序逻辑错误 运行程序,查看查询结果,任务实施-【具体实现】,创建存储过程,任务实施-【具体实现】,CREATE PROCEDURE GETALLTOPICINFO AS BEGIN SELECT * FROM BBSTOPIC END GO,创建存储过程,任务实施-【具体

6、实现】,ALTER PROCEDURE GETALLSECTORINFO AS BEGIN -两表连接查询获取版块信息 SELECT A.SECTORNAME 版块名称 , B.NICKNAME 版主姓名, A.CLICKINGRATE 点击率, A.TOPICCOUNT 帖子数 FROM BBSSECTOR A, BBSACCOUNT B WHERE A.ACCOUNTID=B.ACCOUNTID END GO,修改存储过程,任务实施-【具体实现】,EXECUTE GETALLSECTORINFO,执行存储过程,任务实施-【具体实现】,-使用输入参数查询点击率超过100的版块信息 CREAT

7、E PROCEDURE GETSOMESECTORINFO (CLICK INT) AS SELECT A.SECTORNAME 版块名称 , B.NICKNAME 版主姓名, A.CLICKINGRATE 点击率, A.TOPICCOUNT 帖子数 FROM BBSSECTOR A, BBSACCOUNT B WHERE A.ACCOUNTID=B.ACCOUNTID AND A.CLICKINGRATE150,创建带输入参数存储过程,任务实施-【具体实现】,create procedure getNameAndAge (NickName varchar(20) output, age in

8、t output) as select NickName=NickName, age=DateDiff(year,Birthday,GetDate() from BBSAccount, BBSSector where BBSAccount.AccountID=BBSSector.AccountID and SectorName=Java技术,创建带输出参数存储过程,任务实施-【检查与评估】,学生提交完成任务的存储过程和触发器语句文件 教师检查学生完成情况 教师检查程序是否能正常执行 教师检查是否有必要的注释 教师进行点评 教师提供自己的解决方案 教师对普遍存在的问题集中讲解,拓展训练,随着数据库中存储的数据量越来越大,不可能一次将数据全部显示出来,因此需要一种分页显示的机制来显示数据

温馨提示

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

评论

0/150

提交评论