CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  应用实例

求个存储过程的写法!!

楼主TerranC()2006-03-03 23:54:57 在 MS-SQL Server / 应用实例 提问

ASP里是这样的:  
  Set   rshit=server.CreateObject("ADODB.recordset")  
  sqlhit="select   monthhitstime,weekdayhitstime,dayhitstime,Hit_point,list_mhit,list_whit,list_dhit   from   [list_book]   where   id="&CInt(BookID)&""  
  rshit.open   sqlhit,conn,1,3,&H0001  
  If   Not   (rshit.eof   and   rshit.bof)   Then  
  monthhitstime=rshit("monthhitstime")  
  weekdayhitstime=rshit("weekdayhitstime")  
  dayhitstime=rshit("dayhitstime")  
  rshit("Hit_point")=rshit("Hit_point")+1  
  If   DatePart("m",now())=DatePart("m",monthhitstime)   Then  
  rshit("list_mhit")=rshit("list_mhit")+1  
  rshit.update  
  Else  
  rshit("list_mhit")=1  
  rshit("monthhitstime")=now()  
  rshit.update  
  End   If  
  If   DatePart("ww",now())=DatePart("ww",weekdayhitstime)   Then  
  rshit("list_whit")=rshit("list_whit")+1  
  rshit.update  
  Else  
  rshit("list_whit")=1  
  rshit("weekdayhitstime")=now()  
  rshit.update  
  End   If  
  If   DatePart("d",now())=DatePart("d",dayhitstime)   Then  
  rshit("list_dhit")=rshit("list_dhit")+1  
  rshit.update  
  Else  
  rshit("list_dhit")=1  
  rshit("dayhitstime")=now()  
  rshit.update  
  End   If  
  rshit.update  
  End   If  
  rshit.close  
  set   rshit=Nothing  
  End   If  
   
  想转成高效的存储过程!  
  问题点数:10、回复次数:3Top

1 楼scmail81(琳·风の狼(修罗))回复于 2006-03-04 13:29:05 得分 10

create   proc   Test(@id   int)  
  as  
        update   list_book   set   list_mhit=case   when   datepart(mm,monthhitstime)=datepart(mm,getdate())   then   list_mhit+1   else   1   end   ,  
                                                  monthhitstime   =   case   when   datepart(mm,monthhitstime)=datepart(mm,getdate())   then   monthhitstime   else   getdate()   end   ,  
                                                  list_whit=case   when   datepart(wk,weekdayhitstime)=datepart(wk,getdate())   then   list_whit+1   else   1   end   ,  
                                                  weekdayhitstime   =   case   when   datepart(wk,weekdayhitstime)=datepart(wk,getdate())   then   weekdayhitstime   else   getdate()   end   ,  
                                                  list_dhit=case   when   datepart(dd,dayhitstime)=datepart(dd,getdate())   then   list_dhit+1   else   1   end   ,  
                                                  dayhitstime   =   case   when   datepart(dd,dayhitstime)=datepart(dd,getdate())   then   dayhitstime   else   getdate()   end    
        where   id=@id  
        select   monthhitstime,weekdayhitstime,dayhitstime,Hit_point,list_mhit,list_whit,list_dhit   from   list_book   where   id=@idTop

2 楼ycy589(ycy589)回复于 2006-03-06 15:04:57 得分 0

Hit_point=Hit_point+1Top

3 楼ycy589(ycy589)回复于 2006-03-06 15:05:29 得分 0

Hit_point=Hit_point+1Top

相关问题

  • 一个存储过程的写法
  • 求一个存储过程的写法!
  • 问个存储过程的写法?
  • 请教一个存储过程的写法
  • 初学存储过程,求一个写法!
  • 求带输出参数的一个存储过程写法
  • 请教一个存储过程的写法
  • 高分求教一个存储过程式的写法
  • 请教一个存储过程的写法!!!
  • 给改个存储过程,求最优写法,活活!

关键词

  • rshit
  • weekdayhitstime
  • dayhitstime
  • monthhitstime
  • datepart
  • mhit
  • whit
  • dhit
  • updateelsershit
  • thenrshit

得分解答快速导航

  • 帖主:TerranC
  • scmail81

相关链接

  • SQL Server类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo