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

SQL 合并行,返回带分隔字符的字符串

 
--合并行,并返回合并的值
Create proc [dbo].[proUniteRow]
@tab varchar(30),           --表名
@col varchar(30),           --合并的列名
@where varchar(2000),      --合并的条件
@firstSplit varchar(100), --连接字符前缀
@lastSplit varchar(100),  --连接字符后缀
@order varchar(100),       --排序
@val nvarchar(2000)='' output –返回值
as
begin
 declare @sql nvarchar(2000)
 set @sql='
 declare @retStr varchar(2000)
 set @retStr=''''
 declare cur cursor
 read_only
 for select
 '+@col+' from '+@tab
 if len(@where)>0
 set @sql=@sql+' where '+@where
 
 if len(@order)>0
 set @sql=@sql+' order by '+@order
 
 set @sql=@sql+'
 declare @str varchar(2000)
 open cur
 fetch next from cur into @str
 while (@@fetch_status =0)
 begin
 set @retStr=@retStr+'''+@firstSplit+'''+@str+'''+@lastSplit+'''
 fetch next from cur into @str
 end
 close cur
 deallocate cur
 if len(@retStr)>0
 set @strEnd=substring(@retStr,1,len(@retStr)-1)
  '
 exec sp_executesql @sql,N'@strEnd nvarchar(2000) output',@val output
end
 
执行:
表pro_lbsxb:
ID  lbsx_value  lbsx_isList  lbsx_order
1   A           1            1
2   B           1            2
3   C           1            3
4   D        &


相关文档:

【转】关于"递归树形查询SQL"的好帖

-----------------------------------------------------------------------------------------------------------------------
create table tb(id varchar(3) , pid varchar(3) , name varchar(10))
insert into tb values('001' , null  , '广东省')
insert into tb values('002' , '001' , '广州市')
insert i ......

执行缓存以优化SQL Server的内存占用

作者:superhasty
  2007-11-29
在论坛上常见有朋友抱怨,说SQL Server太吃内存了。这里笔者根据经验简单介绍一下内存相关的调优知识。首先说明一下SQL
Server内存占用由哪几部分组成。SQL Server占用的内存主要由三部分组成:数据缓存(Data
Buffer)、执行缓存(Procedure Cache)、以及SQL Server引擎程序。S ......

SQL Server 2005无法启动~!!!!

2010-05-05 13:35:52.06 Server Microsoft SQL Server 2005 - 9.00.1399.06 (Intel X86)
Oct 14 2005 00:33:37
Copyright (c) 1988-2005 Microsoft Corporation
Developer Edition on Windows NT 5.1 (Build 2600: Service Pack 3)
2010-05-05 13:35:52.06 Server (c) 2005 Microsoft Corporation.
201 ......

SQL的分页查询

分页查询的原理:
 这个只能用再Sql2005及以上的版本
DECLARE @pagenum AS INT, @pagesize AS INT  
SET @pagenum = 2   
SET @pagesize = 3   
SELECT *   
from (SELECT ROW_NUMBER()&n ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号