oracle添加拼接函数
来源:互联网 发布:飞飞cms安装ck播放器 编辑:程序博客网 时间:2024/06/04 20:13
----添加拼接函数
CREATE OR REPLACE TYPE BODY CONNSTRIMPL IS
STATIC FUNCTION ODCIAGGREGATEINITIALIZE(SCTX IN OUT CONNSTRIMPL)
RETURN NUMBER IS
BEGIN
SCTX := CONNSTRIMPL('',',');
RETURN ODCICONST.SUCCESS;
END;
MEMBER FUNCTION ODCIAGGREGATEITERATE(SELF IN OUT CONNSTRIMPL, VALUE IN VARCHAR2) RETURN NUMBER IS
BEGIN
IF SELF.CURRENTSTR IS NULL THEN
SELF.CURRENTSTR := VALUE;
ELSE
IF LENGTHB(SELF.CURRENTSTR)+LENGTHB(CURRENTSEPRATOR)+LENGTHB(VALUE)<4000 THEN
SELF.CURRENTSTR := SELF.CURRENTSTR ||CURRENTSEPRATOR || VALUE;
END IF;
END IF;
RETURN ODCICONST.SUCCESS;
END;
MEMBER FUNCTION ODCIAGGREGATETERMINATE(SELF IN CONNSTRIMPL, RETURNVALUE OUT VARCHAR2, FLAGS IN NUMBER) RETURN NUMBER IS
BEGIN
RETURNVALUE := SELF.CURRENTSTR;
RETURN ODCICONST.SUCCESS;
END;
MEMBER FUNCTION ODCIAGGREGATEMERGE(SELF IN OUT CONNSTRIMPL, CTX2 IN CONNSTRIMPL) 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 TYPE CONNSTRIMPL AS OBJECT
(
CURRENTSTR VARCHAR2(4000),
CURRENTSEPRATOR VARCHAR2(8),
STATIC FUNCTION ODCIAGGREGATEINITIALIZE(SCTX IN OUT CONNSTRIMPL) RETURN NUMBER,
MEMBER FUNCTION ODCIAGGREGATEITERATE(SELF IN OUT CONNSTRIMPL,VALUE IN VARCHAR2) RETURN NUMBER,
MEMBER FUNCTION ODCIAGGREGATETERMINATE(SELF IN CONNSTRIMPL,RETURNVALUE OUT VARCHAR2, FLAGS IN NUMBER) RETURN NUMBER,
MEMBER FUNCTION ODCIAGGREGATEMERGE(SELF IN OUT CONNSTRIMPL,CTX2 IN CONNSTRIMPL) RETURN NUMBER
);
CREATE OR REPLACE FUNCTION CONNSTR (INPUT VARCHAR2) RETURN VARCHAR2
PARALLEL_ENABLE AGGREGATE USING CONNSTRIMPL;
CREATE OR REPLACE TYPE BODY CONNSTRIMPL IS
STATIC FUNCTION ODCIAGGREGATEINITIALIZE(SCTX IN OUT CONNSTRIMPL)
RETURN NUMBER IS
BEGIN
SCTX := CONNSTRIMPL('',',');
RETURN ODCICONST.SUCCESS;
END;
MEMBER FUNCTION ODCIAGGREGATEITERATE(SELF IN OUT CONNSTRIMPL, VALUE IN VARCHAR2) RETURN NUMBER IS
BEGIN
IF SELF.CURRENTSTR IS NULL THEN
SELF.CURRENTSTR := VALUE;
ELSE
IF LENGTHB(SELF.CURRENTSTR)+LENGTHB(CURRENTSEPRATOR)+LENGTHB(VALUE)<4000 THEN
SELF.CURRENTSTR := SELF.CURRENTSTR ||CURRENTSEPRATOR || VALUE;
END IF;
END IF;
RETURN ODCICONST.SUCCESS;
END;
MEMBER FUNCTION ODCIAGGREGATETERMINATE(SELF IN CONNSTRIMPL, RETURNVALUE OUT VARCHAR2, FLAGS IN NUMBER) RETURN NUMBER IS
BEGIN
RETURNVALUE := SELF.CURRENTSTR;
RETURN ODCICONST.SUCCESS;
END;
MEMBER FUNCTION ODCIAGGREGATEMERGE(SELF IN OUT CONNSTRIMPL, CTX2 IN CONNSTRIMPL) 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 TYPE CONNSTRIMPL AS OBJECT
(
CURRENTSTR VARCHAR2(4000),
CURRENTSEPRATOR VARCHAR2(8),
STATIC FUNCTION ODCIAGGREGATEINITIALIZE(SCTX IN OUT CONNSTRIMPL) RETURN NUMBER,
MEMBER FUNCTION ODCIAGGREGATEITERATE(SELF IN OUT CONNSTRIMPL,VALUE IN VARCHAR2) RETURN NUMBER,
MEMBER FUNCTION ODCIAGGREGATETERMINATE(SELF IN CONNSTRIMPL,RETURNVALUE OUT VARCHAR2, FLAGS IN NUMBER) RETURN NUMBER,
MEMBER FUNCTION ODCIAGGREGATEMERGE(SELF IN OUT CONNSTRIMPL,CTX2 IN CONNSTRIMPL) RETURN NUMBER
);
CREATE OR REPLACE FUNCTION CONNSTR (INPUT VARCHAR2) RETURN VARCHAR2
PARALLEL_ENABLE AGGREGATE USING CONNSTRIMPL;
0 0
- oracle添加拼接函数
- oracle 字符串拼接函数
- oracle字符串拼接函数
- oracle拼接字符串处理,wm_contact函数使用
- oracle 拼接字符串的函数写法
- oracle中大字符串拼接函数
- oracle 字符串数据拼接函数使用
- Oracle字符拼接函数中文乱码问题
- 在ibatis2.3.6中使用iterate拼接oracle merge函数
- Oracle存储过程拼接in语句 & 自定义split函数
- oracle xe 添加wm_concat 函数
- Oracle自定义函数,判断一个以逗号拼接的字符串是否完全包含另外一个字符串,与拼接顺序无关
- oracle 字符串拼接
- oracle字段拼接
- ORACLE字符串拼接
- oracle字段拼接
- Oracle数据字符串拼接
- oracle字段拼接
- php实现快速排序
- android权限大全详解
- swift报错:value of type 'string' has no member 'generator'
- 自定义多状态View
- eclipse 自动生成get/set方法
- oracle添加拼接函数
- JDK1.8(8.0)环境变量配置(Android Studio)
- 类似淘宝头条,走马灯上下滚动
- 前缀和 Codeforces509E Pretty Song
- 快速掌握Lua 5.3 —— 编译,运行以及错误
- beaglebone black hardware version
- android 电话状态的监听(来电和去电)
- 分享使用MFCC和LPC进行语音识别
- UICollectionView瀑布流的实现,带例子