存储过程:插入更新访问记录

香水坏坏 发表于 2007-7-7 [Database]

表结构
username nvarchar(32) not null,
visitname nvarchar(32) not null,
sortnum int default(0) not null

 

SQL代码
  1. CREATE PROC up_InsertUpdateBlogVisit   
  2. (   
  3. @username nvarchar(32),   
  4. @visitname nvarchar(32)   
  5. )   
  6. AS  
  7. IF NOT EXISTS( SELECT 0 FROM tb_BlogVisit WHERE username=@username AND visitname=@visitname )   
  8. BEGIN  
  9.   
  10. DECLARE @recordcount int  
  11. DECLARE @maxcount int  
  12. /*we just store five visitors */   
  13. SET @maxcount = 5   
  14.   
  15. SET @recordcount = (select count(0) FROM tb_BlogVisit WHERE username=@username )   
  16. IF @recordcount >= 5   
  17.   
  18. BEGIN  
  19. DELETE FROM tb_blogVisit WHERE username=@username AND sortnum <=@recordcount-@maxcount+1   
  20. UPDATE tb_blogVisit SET sortnum=sortnum-1-@recordcount+@maxcount WHERE username=@username   
  21.   
  22. INSERT INTO tb_blogVisit VALUES( @username,@visitname,@maxcount)   
  23. END ELSE BEGIN  
  24. INSERT INTO tb_blogVisit VALUES( @username,@visitname,@recordcount+1)   
  25. END  
  26.   
  27. END  
  28. GO   
  29.   
  30.   
845 0 标签:MSSQL 存储过程 
访客评论
    发表评论
    • 你的姓名:
    • 你的网站:
    •   EMAIL:   
    • 评论内容:
    • 私人