亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

用一個實例講解Oracle的自定義聚集函數

瀏覽:145日期:2023-11-28 12:06:33
Oracle數據庫的定制功能十分強大。Oracle不但允許用戶定制自己的函數,還可以定制自己的聚集函數和分析函數。

本文將著重介紹使用自定義聚集函數建立一個字符串“sum”的示例:

SQL> CREATE OR REPLACE TYPE T_LINK AS OBJECT (

2 STR VARCHAR2(30000),

3 STATIC FUNCTION ODCIAGGREGATEINITIALIZE

(SCTX IN OUT T_LINK) RETURN NUMBER,

4 MEMBER FUNCTION ODCIAGGREGATEITERATE

(SELF IN OUT T_LINK, VALUE IN VARCHAR2) RETURN NUMBER,

5 MEMBER FUNCTION ODCIAGGREGATETERMINATE

(SELF IN T_LINK, RETURNVALUE OUT VARCHAR2, FLAGS IN NUMBE

R) RETURN NUMBER,

6 MEMBER FUNCTION ODCIAGGREGATEMERGE

(SELF IN OUT T_LINK, CTX2 IN T_LINK) RETURN NUMBER

7 )

8 /

類型已創建。

SQL> CREATE OR REPLACE TYPE BODY T_LINK IS

2 STATIC FUNCTION ODCIAGGREGATEINITIALIZE

(SCTX IN OUT T_LINK) RETURN NUMBER IS

3 BEGIN

4 SCTX := T_LINK(NULL);

5 RETURN ODCICONST.SUCCESS;

6 END;

7

8 MEMBER FUNCTION ODCIAGGREGATEITERATE

(SELF IN OUT T_LINK, VALUE IN VARCHAR2) RETURN NUMBER IS

9 BEGIN

10 SELF.STR := SELF.STR || VALUE;

11 RETURN ODCICONST.SUCCESS;

12 END;

13

14 MEMBER FUNCTION ODCIAGGREGATETERMINATE

(SELF IN T_LINK, RETURNVALUE OUT VARCHAR2, FLAGS IN NUMBE

R) RETURN NUMBER IS

15 BEGIN

16 RETURNVALUE := SELF.STR;

17 RETURN ODCICONST.SUCCESS;

18 END;

19

20 MEMBER FUNCTION ODCIAGGREGATEMERGE

(SELF IN OUT T_LINK, CTX2 IN T_LINK) RETURN NUMBER IS

21 BEGIN

22 NULL;

23 RETURN ODCICONST.SUCCESS;

24 END;

25 END;

26 /

類型主體已創建。

SQL> CREATE OR REPLACE FUNCTION F_LINK

(P_STR VARCHAR2) RETURN VARCHAR2

2 AGGREGATE USING T_LINK;

3 /

函數已創建。

SQL> CREATE TABLE TEST (ID NUMBER, NAME VARCHAR2(20));

表已創建。

SQL> INSERT INTO TEST VALUES (1, 'AAA');

已創建 1 行。

SQL> INSERT INTO TEST VALUES (2, 'BBB');

已創建 1 行。

SQL> INSERT INTO TEST VALUES (1, 'ABC');

已創建 1 行。

SQL> INSERT INTO TEST VALUES (3, 'CCC');

已創建 1 行。

SQL> INSERT INTO TEST VALUES (2, 'DDD');

已創建 1 行。

SQL> COMMIT;

提交完成。

SQL> COL NAME FORMAT A60

SQL> SELECT ID, F_LINK(NAME) NAME FROM TEST GROUP BY ID;

ID NAME

---------- ------------------------------------------------------

1 AAAABC

2 BBBDDD

3 CCC

標簽: Oracle 數據庫
主站蜘蛛池模板: 91短视频免费在线观看 | 日韩中文有码高清 | 久久精品第一页 | 亚洲综合成人网在线观看 | 久草视频资源站 | 1769视频在线| 免费特黄级夫费生活片 | 91在线看| 免费视频爰爱太爽了 | 日本玖玖视频 | 亚洲欧美日韩在线线精品 | 国产精品久草 | 免费看一级欧美毛片 | 亚洲精品国产精品乱码不卞 | 亚洲国产精品一区二区首页 | 久久99精品久久 | 国内自拍在线观看 | 欧美性生活视频播放 | 综合久久久久久中文字幕 | 成人在线激情视频 | 女猛烈无遮挡性视频免费 | 国产福利91精品一区二区 | 人人爱爱人人 | www.欧美精品 | 99精品欧美一区 | 欧美一区二区三区不卡视频 | 中文国产成人精品久久一 | 一级做a爰片久久毛片看看 一级做a爰片久久毛片美女 | 一级做a爰片久久毛片免费看 | 日韩在线免费视频 | 精品国产免费第一区二区 | 丁香婷婷开心激情深爱五月 | 日韩免费一级毛片 | 嫩草视频网站 | 特一级黄色大片 | 特黄特色大片免费视频播放 | 日韩欧美国产综合 | 欧日韩视频777888 | 91麻豆国产极品在线观看洋子 | 最新国产在线 | 视频在线观看91 |