ORACLE 字串聚合函式 strCat
原始碼如下:
create or replace type strcat_type as object
(
currentstr varchar2(4000),
currentseprator varchar2(8),
static function ODCIAggregateInitialize(sctx IN OUT strcat_type) return number,
member function ODCIAggregateIterate(self IN OUT strcat_type,value IN VARCHAR2) return number,
member function ODCIAggregateTerminate(self IN strcat_type,returnValue OUT VARCHAR2, flags IN number) return number,
member function ODCIAggregateMerge(self IN OUT strcat_type,ctx2 IN strcat_type) return number
);
/
create or replace type body strcat_type is
static function ODCIAggregateInitialize(sctx IN OUT strcat_type) return number is
begin
sctx := strcat_type('',',');
return ODCIConst.Success;
end;
member function ODCIAggregateIterate(self IN OUT strcat_type, value IN VARCHAR2) return number is
begin
if self.currentstr is null then
self.currentstr := value;
else
self.currentstr := self.currentstr ||currentseprator || value;
end if;
return ODCIConst.Success;
end;
member function ODCIAggregateTerminate(self IN strcat_type, returnValue OUT VARCHAR2, flags IN number) return number is
begin
returnValue := self.currentstr;
return ODCIConst.Success;
end;
member function ODCIAggregateMerge(self IN OUT strcat_type, ctx2 IN strcat_type) return number is
begin
if ctx2.currentstr is null then
self.currentstr := self.currentstr;
elsif self.currentstr is null then
self.currentstr := ctx2.currentstr;
else
self.currentstr := self.currentstr || currentseprator || ctx2.currentstr;
end if;
return ODCIConst.Success;
end;
end;
/
CREATE OR REPLACE FUNCTION strcat (input VARCHAR2) RETURN VARCHAR2 PARALLEL_ENABLE AGGREGATE USING strcat_type;
/
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/3090/viewspace-625084/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle聚合函式/分析函式Oracle函式
- Oracle OCP(04):聚合函式Oracle函式
- Oracle 聚合函式詳解Oracle函式
- oracle 自定義聚合函式Oracle函式
- oracle 10g函式大全--聚合函式Oracle 10g函式
- Oracle 字串函式Oracle字串函式
- Oracle 字串函式Oracle字串函式
- Oracle字串函式Oracle字串函式
- MySQL函式大全(字串函式,數學函式,日期函式,系統級函式,聚合函式)MySql函式字串
- ORACLE 字串聚合函式 string varchar2 aggregation functionOracle字串函式Function
- 【函式】Oracle中聚合函式rank()使用方法函式Oracle
- strcat函式的基礎認識函式
- oracle字串函式(轉)Oracle字串函式
- Oracle字串函式--轉Oracle字串函式
- 探索MySQL高階語句(數學函式、聚合函式、字串函式、日期時間函式)MySql函式字串
- oracle 字串 聚合 sumOracle字串
- oracle函式大全-字串處理函式Oracle函式字串
- 原創:oracle聚合函式介紹Oracle函式
- ORACLE函式介紹第三篇 著名函式之聚合函式Oracle函式
- ORACLE函式介紹第四篇 非著名函式之聚合函式Oracle函式
- Stream聚合函式函式
- Django:聚合函式Django函式
- oracle資料庫常用分析函式與聚合函式的用法Oracle資料庫函式
- 聚合函式與數字函式函式
- Django(18)聚合函式Django函式
- MySQL 聚合函式大全MySql函式
- Oracle 函式大全(字串函式,數學函式,日期函式,邏輯運算函式,其他函式)Oracle函式字串
- mysql和oracle字串編碼轉換函式,字串轉位元組函式例子MySqlOracle字串編碼函式
- Sql Server系列:聚合函式SQLServer函式
- 字串函式之Strtok()函式字串函式
- MySQL(四)日期函式 NULL函式 字串函式MySql函式Null字串
- oracle聚合函式rank()的用法和一些體會Oracle函式
- oracle中聚合函式RANK和dense_rank的使用(轉)Oracle函式
- 字串函式 fprintf ()字串函式
- 字串函式 htmlentities ()字串函式HTML
- 字串函式 htmlspecialchars ()字串函式HTML
- 字串函式 implode ()字串函式
- 字串函式 explode ()字串函式