亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

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

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


一. 問題描述

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


二. 問題現(xiàn)象

在執(zhí)行數(shù)據(jù)庫導入過程中,在編譯階段出現(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;----連接到那個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)驗小結(jié)

注意事項:

  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


更多精彩干貨分享

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

IT那活兒

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

轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/129934.html

相關(guān)文章

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

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

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

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

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

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

    XGBCCC 評論0 收藏0

發(fā)表評論

0條評論

IT那活兒

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<