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

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

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

     

    (More...)
    Hits: 840  Feedback: 0  标签:MSSQL 存储过程  Trackback  Permalink: http://www.aspstat.com/33
  • MSSQL分页存储过程

    香水坏坏 发表于2007-7-7 [Database]
    SQL代码
    1. 自己改写的一个分页存储过程   
    2. CREATE PROC Paging   
    3. (   
    4. @pageSize int,   
    5. @pageIndex int,   
    6. @pageField nvarchar(32),   
    7. @countTotal bit=1,   
    8. @fieldQuery nvarchar(512),   
    9. @tableQuery nvarchar(512),   
    10. @whereQuery nvarchar(2048),   
    11. @orderQuery nvarchar(512)   
    12. )   
    13. AS  
    14. DECLARE @bdate Datetime   
    15. SET @bdate = getdate()   
    16. DECLARE @itemcount int  
    17. SET @itemcount=@pageIndex*@pageSize   
    18. DECLARE @itemlowwer int  
    19. SET @itemlowwer=(@pageIndex-1)*@pageSize   
    20. DECLARE @cmd nvarchar(3062)   
    21.   
    22. IF @pageIndex=1   
    23. SET @cmd =’SELECT TOP ‘+CAST(@pageSize AS NVARCHAR)+’ ‘+@fieldQuery+’ FROM ‘+@tableQuery+’ WHERE ‘+@whereQuery+’ ORDER BY ‘+@orderQuery   
    24. ELSE  
    25. SET @cmd=’SELECT ‘+@fieldQuery+’ FROM ‘+@tableQuery+’ WHERE ‘+@pageField+’ IN (SELECT TOP ‘+CAST(@itemcount as nvarchar)+’ ‘+@pageField+’ FROM ‘+@tableQuery+’ WHERE ‘+@whereQuery+’ ORDER BY ‘+ @orderQuery+’)   
    26. AND ‘+@pageField+’ NOT IN (SELECT TOP ‘ +CAST(@itemlowwer as nvarchar)+’ ‘+@pageField+’ FROM ‘+@tableQuery+’ WHERE ‘+@whereQuery+’ ORDER BY ‘+ @orderQuery+’)’   
    27. –print @cmd   
    28. EXEC(@cmd)   
    29.   
    30. SELECT DATEDIFF( ms , @bdate , getdate() )   
    31.   
    32. IF @countTotal =1   
    33. BEGIN  
    34. SET @cmd = ‘SELECT COUNT( 0) FROM ‘+@tableQuery+’ WHERE ‘+@whereQuery   
    35. EXEC(@cmd)   
    36. END  
    37. GO   
    38.   
    Hits: 1088  Feedback: 1  标签:MSSQL 存储过程 分页  Trackback  Permalink: http://www.aspstat.com/32