Oracle自定义函数——f_henry_ConcatRowsByColumn
来源:互联网 发布:java迭代器使用 编辑:程序博客网 时间:2024/04/26 18:57
Create Table henry_test (a varchar2(10),b int);
Insert Into henry_test values ('aa',1);
Insert Into henry_test values ('bb',1);
Insert Into henry_test values ('cc',1);
Insert Into henry_test values ('dd',2);
Insert Into henry_test values ('ee',2);
Insert Into henry_test values ('ff',3);
Insert Into henry_test values ('gg',3);
Insert Into henry_test values ('hh',3);
Commit;
/*
SQL> select * from henry_test;
A B
---------- ---------------------------------------
aa 1
bb 1
cc 1
dd 2
ee 2
ff 3
gg 3
hh 3
8 rows selected
*/
create or replace function f_henry_ConcatRowsByColumn(
Column2Value in Varchar2, --分组该列的值
ColumnName1 in Varchar2, --要连接的列名
ColumnName2 in Varchar2, --用来做分组依据的列名
TableName in Varchar2 --表名
)
return varchar2 is
v_Result varchar2(32767);
type cur_type is ref cursor;
myCur cur_type;
v_Column1Value varchar2(4000);
begin
Open myCur for 'Select '||ColumnName1||' From '||TableName||' Where '||ColumnName2||' = '||Column2Value;
Loop
Fetch myCur Into v_Column1Value;
Exit When myCur%notfound;
v_Result:=v_Result||v_Column1Value||',';
End Loop;
Close myCur;
return(v_Result);
end f_henry_ConcatRowsByColumn;
/*
SQL> select B,f_henry_ConcatRowsByColumn(B,'A','B','henry_test') from henry_test group by B;
B F_HENRY_CONCATROWSBYCOLUMN(B,'
--------------------------------------- --------------------------------------------------
1 aa,bb,cc,
2 dd,ee,
3 ff,gg,hh,
*/
Drop Table henry_test;
/*
上面的操作仅限于一张表内。
*/
- Oracle自定义函数——f_henry_ConcatRowsByColumn
- Oracle自定义函数——f_henry_GetStringLength
- Oracle——10用户自定义函数
- Oracle——10用户自定义函数
- ORACLE自定义函数——10进制转36进制
- oracle用户自定义函数
- oracle用户自定义函数
- ORACLE自定义合计函数
- Oracle自定义聚集函数
- oracle 自定义函数
- oracle自定义函数
- oracle自定义函数
- Oracle自定义聚集函数
- oracle自定义聚合函数
- Oracle之自定义函数
- Oracle自定义聚集函数
- Oracle自定义函数
- oracle 自定义函数实例
- MY 网页收集(2002年前)
- Java Thread Programming 1.2 - A Simple Two-Thread Example
- RedHat9下GT4全安装
- 利用程序动态管理Web.config文件(作者:海雅)
- 感冒了!
- Oracle自定义函数——f_henry_ConcatRowsByColumn
- Java 理论与实践: 关于异常的争论
- AS控制聲音教程
- 如何用正确的方法来写出质量好的软件的75条体会 [转]
- 使用 VMware 和 ISA Server 2004 搭建 VPN 实验环境
- MFC 技术注意第62条的翻译
- 深度剖析消息反射机制
- J2ME其实不难,绝对不像软通那人说的一样难.
- vs.net已经检测到制定的WEB服务器运行的不是ASP.NET1.1版,你无法运行ASP.NET WEB应用程序或服务