0
ig0z
08.08.17
✎
23:19
|
Для поиска данных в БД взял код, выполнение которого привело к успешному выполнению, хотя бы без ошибок но посмотреть его я не могу т.к. результат мне anonymous block completed
Интернет советует добавить SET SERVEROUTPUT ON но это не помогло ... . Как узнать что там нашёл?
DECLARE
match_count INTEGER;
query_str VARCHAR2(400);
l_owner VARCHAR2(10) := 'ADMR';
l_search_text VARCHAR2(100) := 'Документ';
BEGIN
FOR t IN (select table_name, column_name FROM all_tab_columns a
where owner = l_owner
and a.data_type in ('NUMBER', 'VARCHAR2')
)
LOOP
begin
match_count := 0;
query_str := 'SELECT COUNT(*) FROM ' ||l_owner||'.'|| t.table_name ||
' WHERE to_char(' || t.column_name || ') = :1';
EXECUTE IMMEDIATE query_str
INTO match_count
USING l_search_text;
IF match_count > 0 THEN
dbms_output.put_line(l_owner||'.'||t.table_name || ' ' || t.column_name || ' ' || match_count);
dbms_output.put_line(' SELECT t.'|| t.column_name || ', t.* from '||l_owner||'.'|| t.table_name||' t where to_char(' || t.column_name || ') = '''||l_search_text||'''');
dbms_output.put_line('');
END IF;
exception
when others then
dbms_output.put_line(t.table_name||'.'||t.column_name||' : '||SQLERRM||' : '||SQLCODE);
dbms_output.put_line(query_str);
dbms_output.put_line('');
/*raise*/
end;
END LOOP;
END;
|
|