Oracle
Oracle 12c:對所有 PL/SQL 程式碼進行文本搜尋
我想對我的數據庫中的所有 PL/SQL 函式/過程進行文本搜尋,以查看哪些程式碼正在呼叫特定函式。SQL Developer 中是否有用於此目的的工具,或者係統架構下儲存功能程式碼的元表?模式的文本轉儲也會有所幫助。
前提是以下情況屬實:
函式不在包中
函式呼叫不是動態 SQL
然後你可以簡單地從 dba_dependencies 中查看它的依賴關係:
SELECT * FROM dba_dependencies WHERE referenced_owner = 'MYOWNER' AND referenced_name = 'MYOBJECT';
否則,您可以檢查 dba_source:
SELECT * FROM dba_source WHERE upper(text) like '%MYOWNER.MYOBJECT%';
要查看架構的所有對象的源:
SELECT * FROM dba_source WHERE owner = 'MYOWNER' ORDER BY type, name, line;