成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

oracle新版無wh_concat函數(shù)問題小結(jié)

IT那活兒 / 3304人閱讀
oracle新版無wh_concat函數(shù)問題小結(jié)


一. 問題描述

11gr2和12C上已經(jīng)摒棄了wm_concat函數(shù),但是我們很多程序員在程序中卻使用了該函數(shù),導(dǎo)致程序出現(xiàn)錯(cuò)誤,為了減輕程序員修改程序的工作量,只有通過手工創(chuàng)建個(gè)wm_concat函數(shù),來臨時(shí)解決該問題。


二. 問題現(xiàn)象

在執(zhí)行數(shù)據(jù)庫導(dǎo)入過程中,在編譯階段出現(xiàn)如下:
alter  PACKAGE BODY LISAPP.HAND_MONITOR compile;
  LINE/COL ERROR
  319/11 PL/SQL: SQL Statement ignored
  319/18 PL/SQL: ORA-00904: "WM_CONCAT": invalid identifier


三. 解決方法

手工創(chuàng)建wm_concat函數(shù)

1. 解鎖wmsys用戶

alter user wmsys account unlock;

2. 創(chuàng)建包、包體和函數(shù)

以wmsys用戶登錄數(shù)據(jù)庫,執(zhí)行下面的命令

sqlplus user/password@pdbname;----連接到那個(gè)PDB下。
CREATE OR REPLACE TYPE WM_CONCAT_IMPLAS OBJECT  
-- AUTHID CURRENT_USER AS OBJECT
(
CURR_STR VARCHAR2(32767),
STATIC FUNCTION ODCIAGGREGATEINITIALIZE(SCTXIN OUT WM_CONCAT_IMPL)RETURN NUMBER,
MEMBER FUNCTION ODCIAGGREGATEITERATE(SELF IN OUT WM_CONCAT_IMPL,
P1IN VARCHAR2)RETURN NUMBER,
MEMBER FUNCTION ODCIAGGREGATETERMINATE(SELF IN WM_CONCAT_IMPL,
RETURNVALUEOUT VARCHAR2,
FLAGSIN NUMBER)
RETURN NUMBER,
MEMBER FUNCTION ODCIAGGREGATEMERGE(SELF IN OUT WM_CONCAT_IMPL,
SCTX2IN WM_CONCAT_IMPL)RETURN NUMBER  
);
/

3. 定義類型body:

CREATE OR REPLACE TYPE BODY WM_CONCAT_IMPL
IS  
STATIC FUNCTION ODCIAGGREGATEINITIALIZE(SCTXIN OUT WM_CONCAT_IMPL)
RETURN NUMBER  
IS  
BEGIN  
SCTX := WM_CONCAT_IMPL(NULL) ;
RETURN ODCICONST.SUCCESS;
END;
MEMBER FUNCTION ODCIAGGREGATEITERATE(SELF IN OUT WM_CONCAT_IMPL,
P1 IN VARCHAR2)
RETURN NUMBER
IS
BEGIN  
IF(CURR_STRIS NOT NULL)THEN  
CURR_STR := CURR_STR ||, || P1;
ELSE
CURR_STR := P1;
END IF;
RETURN ODCICONST.SUCCESS;
END;
MEMBER FUNCTION ODCIAGGREGATETERMINATE(SELF IN WM_CONCAT_IMPL,
RETURNVALUE OUT VARCHAR2,
FLAGS IN NUMBER)
RETURN NUMBER
IS
BEGIN  
RETURNVALUE := CURR_STR ;
RETURN ODCICONST.SUCCESS;
END;
MEMBER FUNCTION ODCIAGGREGATEMERGE(SELF IN OUT WM_CONCAT_IMPL,
SCTX2 IN WM_CONCAT_IMPL)
RETURN NUMBER
IS
BEGIN  
IF(SCTX2.CURR_STRIS NOT NULL)THEN  
SELF.CURR_STR := SELF.CURR_STR ||, || SCTX2.CURR_STR ;
END IF;
RETURN ODCICONST.SUCCESS;
END;
END;
/

4. 自定義行變列函數(shù):

CREATE OR REPLACE FUNCTION wm_concat(P1 VARCHAR2)
RETURN VARCHAR2 AGGREGATE USING WM_CONCAT_IMPL ;
/

5. 創(chuàng)建同義詞并授權(quán)

create or replace public synonym WM_CONCAT_IMPL for wmsys.WM_CONCAT_IMPL ;
create or replace public synonym wm_concat for wmsys.wm_concat ;
grant execute on WM_CONCAT_IMPL to public ;
grant execute on wm_concat to public ;



四. 經(jīng)驗(yàn)小結(jié)

注意事項(xiàng):

  1. 公有同義詞---可以被所有數(shù)據(jù)庫用戶訪問

    使用scott創(chuàng)建公有同義詞

    grant create public synonym to scott---把公有同義詞權(quán)限賦予給scott

    create public  synonym syn_dept for dept;

  2. 私有同義詞

    create synonym synl for scott.emp;誰創(chuàng)建的同義詞,誰使用。


END


更多精彩干貨分享

點(diǎn)擊下方名片關(guān)注

IT那活兒

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/129934.html

相關(guān)文章

  • 新書推薦 |《PostgreSQL實(shí)戰(zhàn)》出版(提供樣章下載)

    摘要:作者譚峰張文升出版日期年月頁數(shù)頁定價(jià)元本書特色中國開源軟件推進(jìn)聯(lián)盟分會(huì)特聘專家撰寫,國內(nèi)多位開源數(shù)據(jù)庫專家鼎力推薦。張文升中國開源軟件推進(jìn)聯(lián)盟分會(huì)核心成員之一。 很高興《PostgreSQL實(shí)戰(zhàn)》一書終于出版,本書大體上系統(tǒng)總結(jié)了筆者 PostgreSQL DBA 職業(yè)生涯的經(jīng)驗(yàn)總結(jié),本書的另一位作者張文升擁有豐富的PostgreSQL運(yùn)維經(jīng)驗(yàn),目前就職于探探科技任首席PostgreS...

    Martin91 評(píng)論0 收藏0
  • 高性能javascript小結(jié)

    摘要:高性能小結(jié)文章轉(zhuǎn)載于我的博客最近看完了動(dòng)物叢書的高性能,覺得那本書的小結(jié)部分寫得非常不錯(cuò),簡(jiǎn)潔輕快易懂概括性很強(qiáng)。由于局部變量存在于作用域鏈的起始位置,因此訪問局部變量比訪問跨作用域變量更快。 高性能javascript小結(jié) 文章轉(zhuǎn)載于我的CSDN博客:http://blog.csdn.net/hello_world_20/article/details/46793317 最近看完了動(dòng)...

    wujl596 評(píng)論0 收藏0
  • 金三銀四面試季節(jié)之Java 核心面試技術(shù)點(diǎn) - JVM 小結(jié)

    摘要:直接對(duì)棧的操作只有兩個(gè),就是對(duì)棧幀的壓棧和出棧。中將永久代移除,同時(shí)增加元數(shù)據(jù)區(qū)。在中,本地方法棧和虛擬機(jī)棧是在同一塊兒區(qū)域,這完全取決于技術(shù)實(shí)現(xiàn)的決定,并未在規(guī)范中強(qiáng)制。 原文:https://github.com/linsheng97... 描述一下 JVM 的內(nèi)存區(qū)域 程序計(jì)數(shù)?(PC,Program Counter Register)。在 JVM 規(guī)范中,每個(gè)線程都有它自己的...

    XGBCCC 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<