[#2]
Re: Oracle/SQL - wyszukiwanie wartości
@mailman,
post #1
W Oracle masz tabelę ALL_TAB_COLUMNS, która przechowuje nazwy wszystkich tabel i kolumn w bazie danych.
Najlepiej (i najwygodniej) chyba będzie zrobić to jako funkcja w PL/SQL używając pętli i kursorów.
Deklarujesz kursor jako:
DECLARE CURSOR kursor1 IS SELECT TABLE_NAME FROM ALL_TAB_COLUMNS GROUP BY TABLE_NAME;
Następnie w pętli zewnętrznej idziesz po tabelach i pobierasz ich nazwy do zmiennej.
OPEN kursor1;
FETCH FROM kursor1 INTO current_table;
Deklarujesz drugi kursor.
DECLARE CURSOR kursor2 IS SELECT COLUMN_NAME FROM ALL_TAB_COLUMNS
WHERE TABLE_NAME=current_table GROUP BY COLUMN_NAME;
I pobierasz kolejne kolumny.
OPEN kursor2;
FETCH FROM kursor2 INTO current_column;
I teraz szukasz poszukiwanego tekstu:
SELECT current_column FROM current_table WHERE current_column LIKE 'Polska';
Mam nadzieję, że pomogłem.