본문 바로가기
ㄱWORK, ETC/Oracle

DB OBJECT에서 문자열로 검색하기!

by YuyU유유 2022. 12. 14.
728x90
반응형
1. VIEW 이외의 TYPE에서 검색

 


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를 검색할 수 있게 된다.
728x90
반응형

'ㄱWORK, ETC > Oracle' 카테고리의 다른 글

APP_FIELD: Item Relationship Utilities  (1) 2023.01.12
[PL/SQL Developer]AutoReplace 설정  (0) 2022.12.21
FROMS-SET_RECORD_PROPERTY  (0) 2022.10.24
FROMS-SET_ITEM_INSTANCE_PROPERTY  (0) 2022.10.24
FORMS-SET_ITEM_PROPERTY  (0) 2022.10.24