求个存储过程的写法!!
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




