国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

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

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

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

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

類(lèi)型已創(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 /

類(lèi)型主體已創(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

主站蜘蛛池模板: 一级一片免费看 | 国产日韩高清一区二区三区 | 伊人短视频 | 一区二区三区国产美女在线播放 | 日韩精品三级 | 成年人免费在线视频网站 | 国产精品毛片va一区二区三区 | 日本乱人伦在线观看免费 | 国产在线乱子伦一区二区 | 久草手机视频在线观看 | 男女免费在线视频 | 精品免费久久 | 久久99久久精品免费思思 | 国产大陆精品另类xxxx | www.av在线免费观看 | 97在线碰碰观看免费高清 | 久久精品国产99久久72 | 成人免费一区二区三区在线观看 | 特级毛片a级毛免费播放 | 免费看欧美一级特黄a毛片 免费看片aⅴ免费大片 | 国产成人精品微拍视频 | 黄色a免费 | 大陆老头xxxxxhd | 欧美视频在线观看 | 美国亚洲成年毛片 | 在线观看免费毛片 | 日韩精品中文字幕在线观看 | 成人永久福利在线观看不卡 | 国产精品吹潮在线播放 | 极品美女一级毛片 | 玖玖国产在线 | 欧美日韩人成在线观看 | 免费一级毛片正在播放 | 巨乳激情| 69xx欧美| 久久久久亚洲精品影视 | 中国国产一国产一级毛片视频 | 男吃女下面刺激视频免费 | 亚洲精品中文字幕一区在线 | 成人免费网站视频 | 怡红院免费va男人的天堂 |