yuesu/Install/procedures.sql
(开头部分) 10KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
/*
SQL Stored Procedures File Created 2011
Remove Comments RegEx: \/\*(.*)\*\/
Remove Extra Stuff: SET ANSI_NULLS ON\nGO\nSET QUOTED_IDENTIFIER ON\nGO\n\n\n
*/
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[bigpage]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
--最通用的分页存储过程
-- 获取指定页的数据
DROP PROCEDURE [dbo].[bigpage]
GO
CREATE PROCEDURE [dbo].[bigpage](
@tblName varchar(255), -- 表名
@strGetFields varchar(500) = '*', -- 需要返回的列
@fldName varchar(255)='', -- 排序的字段名
@PageSize int = 10, -- 页尺寸
@PageIndex int = 1, -- 页码
@doCount bit = 0, -- 返回记录总数, 非 0 值则返回
@OrderType bit =1, -- 设置排序类型, 非 0 值则降序
@strWhere nvarchar(4000) = '' ) -- 查询条件 (注意: 不要加 where)
AS
BEGIN
declare @strSQL nvarchar(4000) -- 主语句
declare @strTmp varchar(200) -- 临时变量
declare @strOrder varchar(400) -- 排序类型
if @doCount != 0
BEGIN
if @strWhere !=''
set @strSQL = 'select count(*) as Total from '+ @tblName +' where '+ @strWhere
else
set @strSQL = 'select count(*) as Total from '+ @tblName +' '
END
--以上代码的意思是如果@doCount传递过来的不是0,就执行总数统计。
--以下的所有代码都是@doCount为0的情况
else
BEGIN
if @OrderType != 0
BEGIN
set @strTmp = '<(select min'
set @strOrder = ' order by '+ @fldName +' desc'
--如果@OrderType不是0,就执行降序,这句很重要!
END
else
BEGIN
set @strTmp = '>(select max'
set @strOrder = ' order by '+ @fldName +' asc'
END
if @PageIndex = 1
BEGIN
if @strWhere != ''
set @strSQL = 'select top ' + str(@PageSize) +' '+@strGetFields+ ' from '+ @tblName +' where ' + @strWhere + ' ' + @strOrder
else
set @strSQL = 'select top ' + str(@PageSize) +' '+@strGetFields+ ' from '+ @tblName +' '+ @strOrder
--如果是第一页就执行以上代码,这样会加快执行速度
END
else
后面还有 224 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。
