Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Wyszukaj wartość we wszystkich tabelach bazy danych

Dzięki za wszystko! Poprzedni skrypt implementował się bardzo wolno.Otrzymałem swoją wartość za pomocą tego skryptu:

DECLARE
  match_count integer;
  v_search_string varchar2(4000) := 'advcgtfs000080000ict1mosqiomujrk';

BEGIN  
  FOR t IN (SELECT owner,
                   table_name, 
                   column_name 
              FROM all_tab_columns
             WHERE data_type in ('VARCHAR2') ) 
  LOOP   
    BEGIN
      EXECUTE IMMEDIATE    
        'SELECT COUNT(*) FROM '||t.owner || '.' || t.table_name||
        ' WHERE '||t.column_name||' = :1'   
         INTO match_count  
        USING v_search_string; 
      IF match_count > 0 THEN 
        dbms_output.put_line( t.owner || '.' || t.table_name ||' '||t.column_name||' '||match_count );
      END IF; 
    EXCEPTION
      WHEN others THEN
        dbms_output.put_line( 'Error encountered trying to read ' ||
                              t.column_name || ' from ' || 
                              t.owner || '.' || t.table_name );
    END;
  END LOOP;
END;
/


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Przechowuj dane daty i godziny jako liczby

  2. Nazwa kolumny tabeli Oracle ze spacją

  3. Oracle używa lub ignoruje indeksowaną kolumnę w zależności od formatu to_date(literal)

  4. Jak mogę znaleźć pudełko o odpowiednim rozmiarze dla każdego produktu?

  5. zamiana rrrr-mm-dd na mm/dd/rrrr