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

PL / SQL để tìm kiếm một chuỗi trong toàn bộ cơ sở dữ liệu

Tại sao lại dùng PL / SQL ? Bạn có thể làm tương tự trong SQL sử dụng xmlsequence .

Ví dụ:tôi muốn tìm kiếm giá trị 'KING' -

SQL> variable val varchar2(10)
SQL> exec :val := 'KING'

PL/SQL procedure successfully completed.

SQL> SELECT DISTINCT SUBSTR (:val, 1, 11) "Searchword",
  2    SUBSTR (table_name, 1, 14) "Table",
  3    SUBSTR (column_name, 1, 14) "Column"
  4  FROM cols,
  5    TABLE (xmlsequence (dbms_xmlgen.getxmltype ('select '
  6    || column_name
  7    || ' from '
  8    || table_name
  9    || ' where upper('
 10    || column_name
 11    || ') like upper(''%'
 12    || :val
 13    || '%'')' ).extract ('ROWSET/ROW/*') ) ) t
 14  ORDER BY "Table"
 15  /

Searchword  Table          Column
----------- -------------- --------------
KING        EMP            ENAME

SQL>

Bạn có thể tìm kiếm bất kỳ giá trị kiểu dữ liệu nào, vui lòng đọc SQL để tìm kiếm GIÁ TRỊ trong tất cả CỘT của tất cả các BẢNG trong toàn bộ SCHEMA




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle UNION các cột khác nhau

  2. ExecuteNonQuery không đưa ra ngoại lệ khi chèn

  3. Cần thực hiện một truy vấn sql đối với hai Oracle DB trong tập lệnh shell cùng một lúc và xuất dữ liệu sang các tệp csv riêng biệt

  4. Oracle CASE ngắn mạch không hoạt động theo nhóm bởi

  5. PL / SQL Làm thế nào để lấy X ngày trước từ Ngày là Ngày?