易截截图软件、单文件、免安装、纯绿色、仅160KB

sql 存储过程 分页

-- FUN:存储过程分页
-- @Table nvarchar(255), -- 表名
-- @Fields nvarchar(1000) = ' * ', -- 需要返回的列
-- @OrderField nvarchar(255), -- 排序的字段名,一般为唯一标识
-- @OrderType bit = 0, -- 设置排序类型, 非 0 值则降序
-- @PageSize int = 10, -- 每页有多少条记录
-- @PageIndex int = 1, -- 第几页
-- @Count int output, -- 返回记录总数 
-- @StrWhere nvarchar(1500) -- 查询条件 (注意: 不要加 where,初始化为1=1使得查询条件永远不为空)
----------------------------------------------------------
ALTER PROC [dbo].[PR_pages]
(
 @Table nvarchar(4000), -- 表名
 @Fields nvarchar(1000) = ' * ', -- 需要返回的列
 @OrderField nvarchar(255), -- 排序的字段名,一般为唯一标识
 @OrderType bit = 0, -- 设置排序类型, 非 0 值则降序
 @PageSize int = 10, -- 每页有多少条记录
 @PageIndex int = 1, -- 第几页
 @StrWhere nvarchar(1500), -- 查询条件 (注意: 不要加 where,初始化为1=1使得查询条件永远不为空)
 @Count int output -- 返回记录总数 
)
AS
BEGIN
 DECLARE @StrSQL nvarchar(4000)  -- 主语句
 DECLARE @StrTmp nvarchar(110) -- 临时变量
 DECLARE @StrOrder nvarchar(400) -- 排序类型
 DECLARE @SumSql nvarchar(4000) -- 记录总数
 --SET @StrWhere = ' 1=1 '
 -- 执行总数统计
 SET @SumSql = 'SELECT @Count = COUNT(0) from ' + @Table + ' WHERE 1=1 ' + @StrWhere
 EXEC sp_executesql @SumSql,N'@Count int output',@Count output -- 记录总数
 -- 如果@OrderType不是0,就执行降序
 IF @OrderType != 0
  BEGIN
   SET @StrTmp = ' <(SELECT MIN'
   SET @StrOrder = ' ORDER BY [' + @OrderField + '] DESC'
  END
  ELSE
  BEGIN
   SET @StrTmp = ' >(SELECT MAX'
   SET @StrOrder = ' ORDER BY [' + @OrderField + '] ASC'
  END
 -- 如果是第一页就执行以下代码,加快执行速度
 IF @PageIndex = 1
  BEGIN
   SET @StrSQL = 'SELECT TOP ' + STR(@Pag


相关文档:

动态SQL(Dynamic SQL)

----start
    动态SQL是在程序运行时构造的,要执行单条SQL,使用EXECUTE IMMEDATE 语句;当批量执行SQL时,先使用PREPARE 语句构造SQL,然后使用EXECUTE 语句执行。
一:Prepare语句:用来构造批量SQL
语法:
PREPARE <sql-statement> [OUTPUT] INTO <result> [INPUT INTO] <input> ......

how things work : sql select statement


原网站无法访问,故保留google快照
How things work : 
SQL
 
Select
 
Statement
Introduction
:
Ever asked your self how things work inside the 
SQL
 
Select
statement? In this article we won’t be talking about how to writeSQL
 
Select
 
statem ......

在SQL Server 2005中用存储过程实现搜索功能


现在很多网站都提供了站内的搜索功能,有的很简单在SQL语句里加一个条件如:where names like ‘%words%’就可以实现最基本的搜索了。
    我们来看看功能强大一点,复杂一点的搜索是如何实现的(在SQL SERVER200/2005通过存储过程实现搜索算法)。
    我们 ......

随机选择行的SQL语句? ORACLE SQLSERVER ECT.

MySQL:
SELECT column from table
ORDER BY RAND()
LIMIT 1
PostgreSQL:
SELECT column from table
ORDER BY RANDOM()
LIMIT 1
Microsoft SQL Server:
SELECT TOP 1 column from table
ORDER BY NEWID()
IBM DB2
SELECT column, RAND() as IDX
from table
ORDER BY IDX FETCH FIRST 1 ROWS ONLY
Thanks Ti ......

将Excel导入SQL SERVER2005数据库

/*
本文专注于将Excel导入SQL SERVER2005数据库
此路径下的这个工具,是SQL SERVER2005 用来导入导出数据的工具。
C:\Program Files\Microsoft SQL Server\90\DTS\Binn\DTSWizard.exe
一般在数据库名上--右键-->Tasks-->Import Data -->界面就出来了,和点击上面的工具是一个东西。
首次使用这个D ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号