色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術(shù)文章
文章詳情頁

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

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

本文將著重介紹使用自定義聚集函數(shù)建立一個字符串“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 /

類型已創(chuàng)建。

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 /

類型主體已創(chuàng)建。

SQL> CREATE OR REPLACE FUNCTION F_LINK

(P_STR VARCHAR2) RETURN VARCHAR2

2 AGGREGATE USING T_LINK;

3 /

函數(shù)已創(chuàng)建。

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

表已創(chuàng)建。

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

已創(chuàng)建 1 行。

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

已創(chuàng)建 1 行。

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

已創(chuàng)建 1 行。

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

已創(chuàng)建 1 行。

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

已創(chuàng)建 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

標(biāo)簽: Oracle 數(shù)據(jù)庫
主站蜘蛛池模板: 国产在线视频一区二区三区 | 新久草视频| 韩国女主播青草在线观看 | 国产韩国精品一区二区三区 | 欧美激情一级欧美精品 | 亚洲精品国产一区二区三区在 | 亚洲图片在线视频 | fc2在线播放 | 亚洲精品国产第一区二区多人 | 国产精品日韩欧美在线第3页 | 欧美日韩在线观看视频 | 欧美性精品videofree | 三级视频网站 | 99久女女精品视频在线观看 | 91久久夜色精品国产网站 | 日本美女高清在线观看免费 | 一个人看的www日本视频 | 国产九九视频在线观看 | 精品久久在线 | 6080伦理久久精品亚洲 | 久久国产影视免费精品 | 免费韩国一级毛片 | 99re66热这里只有精品免费观看 | 欧美成年人视频 | 在线另类视频 | 91精品国产福利尤物免费 | 久久99精品免费视频 | 久久成人18 | 国产欧美精品综合一区 | 精品自拍视频在线观看 | 欧美一级级毛片 | 频黄 | 国产高清在线精品一区二区 | 欧美一级在线播放 | 国产欧美成人免费观看视频 | 中文精品久久久久国产不卡 | 国产精品二区三区 | 99久久成人| 毛片a级三毛片免费播放 | 在线观看国产日韩 | 亚洲国产精品线播放 |