Oracle Functions 列转行

函数

1
2
3
4
5
6
7
CREATE OR REPLACE TYPE "STRCAT_TYPE"                                                                                                                                                                                                                                                                                                      as object (
cat_string varchar2(4000),
static function ODCIAggregateInitialize(cs_ctx In Out strcat_type) return number,
member function ODCIAggregateIterate(self In Out strcat_type,value in varchar2) return number,
member function ODCIAggregateMerge(self In Out strcat_type,ctx2 In Out strcat_type) return number,
member function ODCIAggregateTerminate(self In Out strcat_type,returnValue Out varchar2,flags in number) return number
)
1
2
3
CREATE OR REPLACE FUNCTION strcat(input varchar2 )
RETURN varchar2
PARALLEL_ENABLE AGGREGATE USING strcat_type;

示例一

数据结构

image-20200508180534067

最终结果

image-20200508180649455

示例二

数据结构

image-20200508180112689

image-20200508175748284

最终结果

image-20200508180928720

image-20200508181143099