除錯經驗——如何檢視Oracle自定義函式 (How to view definition of user defined functions in Oracle)
阿新 • • 發佈:2018-10-31
問題描述:
現有的Query中似乎使用了一個自定義函式String_to_list,為了排查問題,需要檢視這個函式的定義。
方法:
--新建的function,並未儲存在All_ojbects表中,而是儲存在user_objects表中 SELECT * FROM ALL_OBJECTS WHERE OBJECT_NAME LIKE '%concatenate_list%'; --可指定物件型別為"FUNCTION",在USER_OJBECTS表中查詢自定義函式 SELECT * FROM USER_OBJECTS WHERE OBJECT_TYPE = 'FUNCTION';
查詢結果:
--可從USER_SOURCE表中檢視自定義函式的SQL指令碼
SELECT *
FROM USER_SOURCE
WHERE NAME = 'CONCATENATE_LIST';
查詢結果:
--輸出自定義函式的內容
SELECT DBMS_LOB.SUBSTR (
DBMS_METADATA.GET_DDL ('FUNCTION', 'CONCATENATE_LIST', 'C##SCOTT'))
FROM DUAL;
查詢結果:
參考文章:
https://www.cnblogs.com/seven1314pp/p/9005942.html