Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

PL / SQL untuk mencari string di seluruh database

Mengapa PL/SQL ? Anda dapat melakukan hal yang sama di SQL menggunakan xmlsequence .

Misalnya, saya ingin mencari nilai '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>

Anda dapat mencari nilai tipe data apa pun, silakan baca SQL untuk Mencari NILAI di semua KOLOM dari semua TABEL di seluruh SKEMA




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Konversi stempel waktu di Oracle untuk format YYYY-MM-DD HH:MM:SS

  2. Oracle OSM - XQuery tidak berulang

  3. Mendapatkan nilai yang berkaitan dengan baris maks dan min di Oracle

  4. PHP, IIS, Oracle (OCI) tidak berfungsi

  5. ORA-01847 hari dalam sebulan harus antara 1 dan hari terakhir dalam sebulan - tetapi datanya OK