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

SQLSERVER 分页存储过程(2 在SQL2005下使用)

之前有一个SQLServer的分页存储过程 但是性能不是十分理想
又找了一个 
--SQL2005分页存储过程
/**
if  exists(select * from sysobjects where name='fenye')
drop proc fenye
**/
CREATE procedure fenye
  @tableName nvarchar(200) ,
  @pageSize int,
  @curPage int ,
  @orderBy nvarchar(200) ,
  @field nvarchar(200) = '*' ,
  @condition nvarchar(200)
AS
  SET NOCOUNT ON
  DECLARE
     @STMT nvarchar(max),        -- SQL to execute
     @recct int                  -- total # of records (for GridView paging interface)
  IF LTRIM(RTRIM(@condition)) = '' SET @condition = '1 = 1'
  IF @pageSize IS NULL BEGIN
    SET @STMT =  'SELECT   ' + @field + 'from ' + @tableName +'WHERE    ' + @condition + 'ORDER BY   ' + @orderBy
    EXEC (@STMT)                 -- return requested records
  END ELSE BEGIN
    SET @STMT =  'SELECT   @recct = COUNT(*) from     ' + @tableName + '    WHERE    ' + @condition
   -- EXEC sp_executeSQL @STMT, @params = N'@recct INT OUTPUT', @recct = @recct OUTPUT
    --SELECT @recct AS recct       -- return the total # of records
    DECLARE
      @lbound int,
      @ubound int
    SET @curPage = ABS(@curPage)
    SET @pageSize = ABS(@pageSize)
    IF @curPage < 1 SET @curPage = 1
    IF @pageSize < 1 SET @pageSize = 1
    SET @lbound = ((@curPage - 1) * @pageSize)
    SE


相关文档:

使用SQLServer模板来写规范的SQL语句

如果你经常遇到下面的问题,你就要考虑使用SQL Server的模板来写规范的SQL语句了:
SQL初学者。
经常忘记常用的DML或是DDL SQL 语句。
在多人开发维护的SQL中,每个人都有自己的SQL习惯,没有一套统一的规范。
在SQL Server Management Studio中,已经给大家提供了很多常用的现成SQL规范模板。
SQL Server Management ......

关于oracle导入sqlserver存在的唯一索引问题

我在把oracle数据导入sqlserver中时,发现在oracle中字段定义为唯一索引时,不同记录的此字段如果为空不被认为是重复的,但在sqlserver中如果此字段为唯一索引字段,不允许有2个以上的空值。郁闷。所以只好将sqlserver中的唯一索引字段手工修改为几个非空的值,但这样程序肯定要进行修改了。需要在程序中为此字段设置不重复 ......

Sqlserver 取汉字的第一个字母,方便模糊查询

 create function comm_getpy
(
    @str nvarchar(4000)
)
returns nvarchar(4000)
as
begin
declare @word nchar(1),@PY nvarchar(4000)
set @PY=''
while len(@str)>0
begin
    set @word=left(@str,1)
    --如果非汉字字符,返回原字符
& ......

SqlServer游标示例

declare @areaid varchar(100)
declare @areaname varchar(100)
declare Cur cursor  for
select code as areaID,[name] as areaName  from dbo.province
open Cur
Fetch next from Cur Into @areaid,@areaname
While @@fetch_status=0   
Begin
    print('insert into ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号