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

SQLServer通用分页存储过程,字符分隔函数

分页存储过程
sp_QueryPaging
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
-- =============================================
-- Author:
-- Create date:
-- Description: 分页查询
-- 返回的数据中总是在每条记录前加上行号RowNumber列。
-- 如果未指定@StrSelect参数,相当于设置它为'*'
-- 如果未指定@Strfrom参数,不做查询,返回-1
-- 如果未指定@StrWhere参数,则忽略Where条件
-- 如果未指定@StrOrder参数,试着自动获得标识列作为@StrOrder,失败则不做查询,返回-1
-- 如果未指定@PageSize参数,或者它<=0,则返回全部记录
-- 如果未指定@PageIndex参数,会设置它为1,显示第一页数据
-- 参考:shiwenbin http://www.cnblogs.com/virusswb/archive/2009/10/20/1587179.html
-- =============================================
ALTER PROCEDURE [dbo].[sp_QueryPaging]
@StrSelect NVARCHAR(4000) = '*' , --欲显示的列(多列用逗号分开),例如:id,name
@Strfrom NVARCHAR(4000) , --表名称,或者是表连接字符串,多表连接例如:student as s inner join dwinfo as dw on s.dwbh=dw.bh
@StrWhere NVARCHAR(4000) = '' , --查询条件,''代表没有条件,单条件或者多条件,多条件例如:name='啊' and id=10
@StrOrder NVARCHAR(4000) , --排序列(多个排序列用逗号分开),例如:id desc,name as
@PageSize INT = 0 , --每页显示条数
@PageIndex INT = 1 , --当前页
@RecordCount BIGINT = -1 OUTPUT --返回当前页记录数
AS
BEGIN
SET NOCOUNT ON ;
IF @Strfrom IS NULL
BEGIN
RETURN -1
END
--若没有指定@StrOrder,试着获取标识列
IF @StrOrder IS NULL
BEGIN
DECLARE @identitycol NVARCHAR(50)
SET @identitycol = ( SELECT TOP ( 1 )
COLUMN_NAME
from INFORMATION_SCHEMA.columns
WHERE TABLE_NAME = @Strfrom
AND COLUMNPROPERTY(OBJECT_ID(@Strfrom),
COLUMN_N


相关文档:

SQLSERVER 存储过程 语法

*** author:Susan
*** date:2005/08/05
*** expliation:如何寫存儲過程的格式及例子,有游標的用法!
*** 本版:SQL SERVER 版!
******************************************************/
在存儲過程中的格式規格:
CREATE PROCEDURE XXX
/*
列舉傳入 ......

SQLServer 和Oracle常用函数对比

1
.绝对值 
S:
select
 
abs
(
-
1
) value
O:
select
 
abs
(
-
1
) value 
from
 dual 
  
2
.取整(大) 
S:
select
 
ceiling
(
-
1.001
) value 
O:
select
 ceil(
-
1.001
) value 
from
 d ......

Microsoft SqlServer 2005 通用分页 存储过程

本来我是不赞成使用通用存储过程的,主要是因为根据表结构来定制分页查询不用动态的拼SQL,这样才是真正的高效,而且只要写过一个,那么再有新需求的时候,小范围改动几处就ok了。
但总是有人向我讨要或者讨论通用存储过程,没办法,被逼无奈,良心丧与困境。
木有找到T-SQL代码编辑器
-- ============================= ......

SQLServer 中表的自增长列

1.建表(Create table)时使用 IDENTITY (SEED,INCREMENT)
其中SEED是起始值,INCREMENT是增量。
例:
CREATE TABLE mytable1
    (
      [user_id] BIGINT NOT NULL
                       IDENTITY(1, 1) , ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号