특정값이 들어 있는 필드를 찾으려면... 2 2 1,767

by 오델 [2015.09.14 11:03:13]


오라클을 사용중인데...테이타 베이스 내 특정 값이 들어 있는 테이블 및 필드를 찾을 수 있나요?

가능하다면 어찌 쿼리를 줘야 하는지요?

맨땅에 헤딩하려니...참 버겁네요....

 

by jkson [2015.09.14 11:13:36]
SELECT table_name
     , column_name
  FROM all_tab_columns
 WHERE owner = 'AAA' -- 찾을 OWNER
   AND data_type LIKE '%CHAR%' --찾을 데이터 타입
   AND TO_NUMBER (DBMS_XMLGEN.getxmltype ('select 1 from ' || table_name || ' where ' || column_name || ' = ''찾을값'' and rownum = 1').EXTRACT('//text()')) = 1

이렇게 하면 되지만.. 모든 테이블에 모든 컬럼에서 데이터를 찾는 거라 시스템 뻗을 수도 있어요.

테이블명이라든지.. 컬럼명 한정적으로 수정해서 사용하시면 될 것 같습니다.


by 오델 [2015.09.14 11:30:10]

jkson님 감사합니다.

조심해서 사용하도록 하겠습니다.

 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입