BBS论坛项目需求文档(第三阶段)(共8页).docx
《BBS论坛项目需求文档(第三阶段)(共8页).docx》由会员分享,可在线阅读,更多相关《BBS论坛项目需求文档(第三阶段)(共8页).docx(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上BBS项目需求文档(第三阶段)【 存储过程 、触发器 】需求10:/* 为了维护论坛环境的空气清新,斑竹会定期检查帖子或核实网友对某个帖子的投诉,然后删除不合法的发帖*/- 删除帖子- 主题:什么是.NET?- 内容:我靠!微软的.NET广告超过了半个北京城啊.请使用T-SQL语句实现以下规则: 被删帖的贴住(心酸果冻) 积分减去100分 跟(回)贴的贴主减去50分(回帖者没检举,涉嫌包庇并支持 “犯罪” ,所以减分)。 帖子所在版块的主贴量 1 视情节轻重给予贴主(心酸果冻)警告: 如果回帖量 10 负面影响较大 给予严重警告; 否则给予一般警告。 删掉主贴和跟帖(
2、由于约束的限制,需要先删除跟帖,再删除主贴) 所有用户重新排名如图所示:参考代码:ssselect*frombbsTopicselect*frombbsUsersselect*frombbsReplyselect*frombbsSectiondeclaretidintdeclareuidtintselecttid=TID,uidt=TUIDfrombbsTopicwhereTTopiclike%什么是.NET啊%-帖主分数-100updatebbsUserssetUpoint=Upoint-100-跟贴的帖主分数-50updatebbsUserssetUpointdeletefrombbsTo
3、picwhereTID=tidselect*frombbsReplywhereRTID=1需求12: 存储过程目标: 使用存储过程实现: 查看某个用的发帖和回帖情况 获取用的发帖数和回帖数情况 查看指定帖子的回帖数量前一阶段使用事物模拟银行的转账、取款和存款业务 并使用视图和索引,方便BBS的论坛排名 论坛管理中 经常需要评选奖项或调查某个用发表的言论。本阶段将使用存储过程 简化这些常规的管理操作 :诸如查询某个用的发帖情况 查询某个帖子的回帖情况等。调用存储过程查看用户表(bbsUsers)的相关信息。分析:查看表的约束、索引等 可调用相关的系统存储过程; 创建文件夹 并查看某个文件夹下的文
4、件 ,可调用xp_cmdshell扩展存储过程 。参考代码:usebbsDBgoexecsp_helpconstraintbbsUsers-查看表bbsUsers的约束execsp_helpindexbbsUsers-查看表bbsUsers的索引gousemastergoexecxp_cmdshellmkdire: est,no_output-在e:下创建文件夹testexecxp_cmdshelldire:-查看文件夹需求13: 创建带参数的存储过程在进行论坛的奖项评选或调查某个用户发表的言论情况,都需要经常查找用户的发帖情况(发主贴和回帖)。 请编写存储过程proc_find1,实现查找某
5、个用户(假定为可卡因)的发帖情况。如图所示:分析:查询某个用的发帖情况 显然在创建春错过程是 需要将用户作为输入参数 ,调用时指定具体的用户。参考代码/*13创建带参数的存储过程*/-编写存储过程proc_find1,实现查找某个用户的发贴情况usebbsDBgoifexists(select*fromsysobjectswherename=proc_find1)dropprocedureproc_find1gocreateprocedureproc_find1userNamevarchar(10)-输入参数用户名assetnocounton-获取用户对应的用户编号UIDdeclareuser
6、IDvarchar(10)selectuserID=UIDfrombbsUserswhereUname=userName-如果在主帖表中存在该用户发表的主帖ifexists(select*frombbsTopicwhereTuID=userID)beginprintuserName+发表的主帖如下:select发贴时间=convert(varchar(10),TTime,111),点击率=TClickCount,主题=TTopic,内容=TcontentsfrombbsTopicwhereTUID=userIDendelseprintuserName+没有发表过主帖ifexists(selec
7、t*frombbsReplywhereRUID=userID)beginprintuserName+发表的回帖如下:select发帖时间=convert(varchar(10),RTime,111),点击率=RClickCount,回帖内容=RcontentsfrombbsReplywhereRUID=userIDendelseprintuserName+没有发表过回帖go/*调用存储过程*/execproc_find1心酸果冻需求14 /*创建带返回值的存储过程*/-编写存储过程proc_find2,查找某个用户的发贴情况,并返回发贴数和回帖数 如图所示:分析:本例需要返回发帖数和回帖数,所
8、以应在存储过程proc_find1的基础上,添加两个输出参数 其关键字为OUTPUT 在上例的未尾,复制proc_find1的语句 然后再做部分修改即可。参考代码:/*14-.带返回值的存储过程-*/ IF EXISTS (SELECT * FROM sysobjects WHERE name = proc_find2 ) DROP PROCEDURE proc_find2GOCREATE PROCEDURE proc_find2 userName varchar(10), sumTopic INT OUTPUT, sumReply INT OUTPUT AS SET NOCOUNT ON D
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- BBS 论坛 项目 需求 文档 第三 阶段
限制150内