SELECT DISTINCT NAME FROM dba_source WHERE 1 = 1 AND upper(text) LIKE '%문자열%' AND NAME IN ( SELECT NAME FROM dba_dependencies WHERE referenced_name = 'TABLE명' --*AND TYPE IN ('PACKAGE BODY', 'PROCEDURE') );
2. VIEW일 때 검색하기
[TEXT] 필드 TYPE가 LONG이라 LIKE 조건이 안된다.
오류 발생 : ORA-00932: inconsistent datatypes: expected CHAR got LONG
검색해보니 CLOB TYPE은 검색 가능 조건절에서 이렇게 사용하면 된다. dbms_lob.instr(t.text, 'opo_below_flag') > 0
1. TEXT 필드의 TYPE을 LONG > CLOB로 바꿔서 임시 TABLE 생성CREATE TABLE dba_views_20221214(view_name VARCHAR2(128), text CLOB);
2.필요한 VIEW 임시테이블에 INSERT 3. dbms_lob.instr로 TEXT 필드 검색 future9라는 text가 포함된 view를 검색할 수 있게 된다.