zoukankan      html  css  js  c++  java
  • <原创>SQLServer一个高效的存储过程

     USE [Ecological]
    GO
    /****** Object:  StoredProcedure [dbo].[SP_Ecological]    Script Date: 2016/3/24 15:02:15 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    /*
    ***************************************************************
    ** 分页存储过程 **
    ***************************************************************
    参数说明:
    1.CurrentPage :当前页码
    2.PageSize :分页尺寸
    3.SQL:用于自定义查询语句
    4.tempTableName:临时表名称
    ***************************************************************/
     ALTER PROCEDURE [dbo].[SP_Ecological]    
        ( 
    @CurrentPage int = 1,
    @PageSize int = 10,
    @SQL nvarchar(max),
    @tempTableName nvarchar(max)
    )
    AS
    DECLARE @strEndRow varchar(500)
    DECLARE @strStartRow varchar(500)
    DECLARE @strSQL1 VARCHAR(MAX)
    DECLARE @strSQL2 VARCHAR(MAX)
    DECLARE @strSQL3 VARCHAR(MAX)
    SET @strEndRow = CAST(@PageSize*@CurrentPage AS varchar(500))
    SET @strStartRow = CAST((@PageSize*(@CurrentPage-1) + 1) AS varchar(500))
    SET @strSQL1='if object_id(''tempdb..'+@tempTableName+''') is not null Begin drop table '+ @tempTableName+' End'
    SET @strSQL2='  SELECT identity(int,1,1) as ID,* into ' +@tempTableName+ ' FROM ('+@SQL+') as t'
    SET @strSQL3=' select * from '+@tempTableName+' where id>='+@strStartRow+' and id<='+@strEndRow+''
    EXEC(@strSQL1+ @strSQL2+@strSQL3)   
     
     
     
    转发需声明!!
    人最宝贵的就是生命,生命对于每个人来说只有一次。人的一生应该这样度过:回首往事,他不会因为虚度年华而悔恨,也不会因为碌碌无为而羞愧;临终之际,他能够说:“我的整个生命和全部精力,都献给了世界上最壮丽的事业——为解放全人类而斗争。”
  • 相关阅读:
    Android开发效率—Eclipse快捷键
    Android学习笔记之AndroidManifest.xml文件解析
    Android开发环境的安装 Eclipse
    运用CodeSmith Studio实现C#项目构架
    使用C#开发ActiveX控件(新) 转 http://www.cnblogs.com/yilin/p/csharp-activex.html
    C# winFrom 制作、打包、签名、发布Activex全过程
    C# Server.MapPath()
    PowerDesigner导出表到word
    powerdesigner 15 如何导出sql schema
    PowerDesigner15使用时的十五个问题
  • 原文地址:https://www.cnblogs.com/Imgiser/p/5315704.html
Copyright © 2011-2022 走看看