oracle行列互换sql,解决Oracle行列转换问题的一个方法
不好意思,編譯錯誤,可能是版本的問題
其實,實現的方法很簡單,請參考精華帖子
下面是源文件 ,我是的數據庫版本是9.2.0.1,OS為NT
[PHP]
---Author: Accelerator
---Date??: 2004-11-25
create or replace type list_agg??as object
(
total varchar2(4000),
static function
ODCIAggregateInitialize(sctx IN OUT list_agg )
return number,
member function
ODCIAggregateIterate(self IN OUT list_agg ,
value IN varchar2 )
return number,
member function
ODCIAggregateTerminate(self IN list_agg,
returnValue OUT??varchar2,
flags IN number)
return number,
member function
ODCIAggregateMerge(self IN OUT list_agg,
ctx2 IN list_agg)
return number
);
/
create or replace type body list_agg
is
static function ODCIAggregateInitialize(sctx IN OUT list_agg)
return number
is
begin
sctx := list_agg(null);
return ODCIConst.Success;
end;
member function ODCIAggregateIterate(self IN OUT list_agg,
value IN varchar2 )
return number
is
begin
self.total := self.total||','||value;
return ODCIConst.Success;
end;
member function ODCIAggregateTerminate(self IN list_agg,
returnValue OUT varchar2,
flags IN number)
return number
is
begin
returnValue := substr(self.total,2);
return ODCIConst.Success;
end;
member function ODCIAggregateMerge(self IN OUT list_agg,
ctx2 IN list_agg)
return number
is
begin
self.total := self.total||ctx2.total;
return ODCIConst.Success;
end;
end;
/
CREATE OR REPLACE FUNCTION list(input varchar2 )
RETURN varchar2
PARALLEL_ENABLE AGGREGATE USING list_agg;
/
[/PHP]
總結
以上是生活随笔為你收集整理的oracle行列互换sql,解决Oracle行列转换问题的一个方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: _Linux结束进程到底有多少种方法?
- 下一篇: 小程序[渲染层网络层错误] failed