Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Tìm kiếm giá trị trong tất cả các bảng của cơ sở dữ liệu

Cảm ơn vì tất cả! Tập lệnh trước đó được triển khai rất chậm. Tôi nhận ra giá trị của tôi với tập lệnh này:

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. vấn đề với hàm to_date với sysdate

  2. Màn hình PL / SQL Developer không hiển thị đúng các ký tự tiếng Do Thái

  3. Làm cách nào để lấy delta cho user_id từ những tháng trước bằng cách sử dụng oracle sql

  4. Định cấu hình Trình xử lý trong Cơ sở dữ liệu Oracle (các phiên bản 12c, 18c và 19c)

  5. Các lỗi khi cài đặt jdk 1.7 trong linux