2014-02-26 3 views
0

테이블의 모든 열과 일치하는 키 관계가있는 하위 테이블에서 일치하는 문자열을 검색하고 결과를 반환하려면 어떻게 검색 할 수 있습니까?일치하는 문자열에 대한 검색 테이블 Oracle

다른 사람에게이 질문을 던지시기 바랍니다.

감사

+0

테이블이 '하위'로 정의되는 방법은 무엇입니까? 이것의 배후에있는 아이디어는 무엇입니까? – i100

+0

내 질문이 업데이 트되었습니다. 확인을 – Yahiya

+0

[Oracle 검색 모든 테이블의 모든 열에 대한 가능한 문자열] (http://stackoverflow.com/questions/6389666/oracle-search-all-tables-all-columns-for-string) –

답변

0

이 시도 :

SELECT 'select * from ' || table_name || ' where ' || clause 
    FROM (SELECT DISTINCT REPLACE(stragg(column_name) 
            over(PARTITION BY table_name ORDER BY table_name), ',', 
            ' = ''__your_string__'' OR ') || ' = __your_string__' clause, 
         table_name 
      FROM user_tab_columns 
      WHERE table_name IN 
       (SELECT table_name 
        FROM all_constraints 
        WHERE constraint_type = 'R' 
        AND r_constraint_name IN (SELECT constraint_name 
               FROM all_constraints 
               WHERE constraint_type IN ('P', 'U') 
               AND table_name = '__yout_table__'))); 

은 또한 당신은 레코드 세트의 각 행을 실행하기 위해 어떻게든지에 PLSQL 또는 루프로 포장해야합니다.

+0

ORA-00904 : "STRAGG": 유효하지 않은 식별자 ... 쿼리에이 문제가 있습니다. – Yahiya

+0

sys.stragg를 사용해 보았지만 작동했지만 여전히 결과가 가져 오지 않았습니다. – Yahiya

+0

__your_table__을 원하는 테이블 이름으로 바꾸고 __your_string__을 찾은 문자열로 대체 했습니까? 어떤 오라클 버전을 사용합니까? – i100

관련 문제