2014-02-26 47 views
0

如何在表格的所有列及其子表中搜索匹配字符串,並找到其關聯關係並返回結果。搜索表中匹配的字符串Oracle

請別人,給我這個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__?你使用哪個版本的Oracle? – i100

相關問題