zoukankan      html  css  js  c++  java
  • 存储过程——数据的分页

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

    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

  • 相关阅读:
    ES6之模块化
    ES6之展开运算符
    ES6之解构赋值
    ES6之对象的语法糖
    ES6之函数的语法糖
    ES6之模板字符串
    Exchanger详解
    DNS解析过程
    CyclicBarrier详解
    ConuntDownLatch详解
  • 原文地址:https://www.cnblogs.com/zhijianliutang/p/2250652.html
Copyright © 2011-2022 走看看