I have a database with more than 100 tables. I want to find the table that contains the 'ATMOSPHERIC' data in the tables in this database. How can I do it. I wrote such a code myself but it did not work. I am waiting for your advice.
DECLARE
v_search_term VARCHAR2(100) := 'ATMOSFERIK';
v_sql VARCHAR2(4000);
v_result NUMBER;
BEGIN
FOR t IN (SELECT *
FROM all_tab_columns
WHERE data_type LIKE '%CHAR%' OR data_type LIKE '%CLOB%'
ORDER BY table_name, column_name)
LOOP
v_sql := 'SELECT COUNT(*) FROM myDB.' || t.table_name ||
' WHERE ' || t.column_name || ' LIKE ''%' || v_search_term || '%''';
EXECUTE IMMEDIATE v_sql INTO v_result;
IF v_result > 0 THEN
DBMS_OUTPUT.PUT_LINE('Table: SMS.' || t.table_name || ', Column: ' || t.column_name);
END IF;
END LOOP;
END;
Edit:
Error report -
ORA-00942: table or view does not exist
ORA-06512: at line 13
00942. 00000 - "table or view does not exist"
*Cause:
*Action: