• 存储过程——数据的分页


    这个存储过程用来数据的分页,里面构造的一个函数实现这个功能;

    if  object_id('fenye','p') is not null  

     /*判断是否存在fenye这个存储过程*/   

     drop  proc fenye GO CREATE PROCEDURE [dbo].[fenye] @currentpage  int=1, 

    /*记录当前的页数,初始值为1*/

    @count  int=10,     

      /*每一个页面所显示的数据量*/

    @tablename varchar(20), 

    /*所查询的表的名字*/

     @colunm  varchar(20)   

      /*表中查询的字段*/

     AS declare   @sql  nvarchar(1000) 

      /*定义查询字段变量*/

    set  @sql=N'select  top '+ cast(@count as nvarchar(3))

     /*将字符串变量转换成字符型*/

     SET  @sql=@sql+N'  *  from '+@tablename+' where '+@colunm+' not in (' set  @sql=@sql+N' select top '+cast(((@currentpage-1)*@count) as  nvarchar(3)) set  @sql=@sql+@colunm+N' from '+@tablename+')' SELECT @sql  

     /*显示出插叙语句*/

     exec  (@sql) Go

    exec fenye 1,3,'dbo.Article_Comment','ArticleID' 

     /*执行查询*/

    GO

    /*这里面是构造查询所有数据记录的条数的函数*/

    DECLARE  @TEMP  NVARCHAR(500)  DECLARE  @TABLENAME  NVARCHAR(50) DECLARE  @COUNT  INT SET  @TABLENAME=N'dbo.Article_Comment' SET  @TEMP=N' SELECT  @A=COUNT(*) FROM '+@TABLENAME EXEC  SP_EXECUTESQL @TEMP ,N'@A INT OUTPUT',@COUNT OUTPUT

    /*调用的是系统中的一个函数 SP_EXECUTESQL(执行的SQL语句,输出变量的函数类型,输出变量的函数)*/

    SELECT @COUNT

  • 相关阅读:
    C++ 与 C 的预处理能力
    unicore32linuxgcc 预定义宏
    内核中的原子上下文
    ConText
    PREEMPT_ACTIVE
    对象和类
    java的getClass()函数
    堆栈以及对象的引用
    public、protected、default、private作用域
    android 环境变量搭建
  • 原文地址:https://www.cnblogs.com/zhijianliutang/p/2250652.html
Copyright © 2020-2023  润新知