SQL实现动态交叉表【用游标实现】
来源:互联网 发布:微信聊天机器人源码 编辑:程序博客网 时间:2024/06/05 12:42
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
ALTER procedure CrossTable
@strTableName as varchar(50)='', --查询表
@strCol as varchar(50)='',
@strGroup as varchar(50)='',--分组字段
@strNumber as varchar(50)='',--被统计的字段
@strCompute as varchar(50)='Sum'--运算方式
as
declare @strSql as varchar(1000),@strTempCol as varchar(100)
execute ('DECLARE corss_cursor CURSOR FOR SELECT DISTINCT '+@strCol+' from '+@strTableName+' for read only') --生成游标
begin
set nocount on
set @strSql='select '+@strGroup+','+@strCompute+'('+@strNumber+') as ['+@strNumber+']'
open corss_cursor
while(0=0)
begin
fetch next from corss_cursor
into @strTempCol
if(@@fetch_status <>0) break
set @strSql=@strSql+','+@strCompute+'( case '+@strCol+' when '''+@strTempCol+''' then '+@strNumber +' else 0 end ) as ['+@strTempCol+']'
end
set @strsql=@strSql+' from '+@strTableName+' group by '+@strGroup
print @strSql
execute(@strSql)
if @@error <>0 return @@error
print @@error
close corss_cursor
deallocate corss_cursor return 0
end
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
- SQL实现动态交叉表【用游标实现】
- SQl 实现动态交叉表查询
- 利用临时表、REF游标、动态SQL实现分页查询
- 使用DBMS_SQL实现动态sql游标
- 动态交叉表的实现
- 动态交叉表的实现
- 利用oracle动态游标实现动态SQL循环遍历
- oracle动态游标实现动态SQL循环遍历
- 利用Oracle动态游标实现动态SQL循环遍历
- Sql交叉表简单实现
- SQL游标的实现
- 用pl/sql游标实现约瑟夫环
- 通用动态交叉表的实现
- SQL动态交叉表
- SQL动态交叉表
- 应用SQL交叉表实现行列转换
- SQL实现交叉表的方法
- SQL实现交叉表的方法
- Java开源缓存框架介绍
- 让管理员的帐号无须密码登陆
- Extending the UCD-SNMP(net-snmp) agent
- Http隧道
- 微软的面试题及答案-超变态但是很经典
- SQL实现动态交叉表【用游标实现】
- QQ显示IP的关键代码
- 解决访问IIS元数据库的失败
- 不错
- WindowsServer2008(图解)安装详细流程
- javascript
- 优化SQL Server数据库
- eclips编辑struts-config.xml时速度非常慢的问题
- 我的正则表达式