Мы пытаемся получить количество таблиц из dba_tables в процедуре pl / sql, и счет возвращается как ноль. Мы можем видеть количество просмотров записей dba_tables через sql разработчика. Однако через код pl / sql он возвращается как ноль.
Пожалуйста, найдите пример кода ниже. В настоящее время у нас есть 2 схемы, работающие в одной базе данных. Мы предоставили выборочные гранты в dba_tables для обоих пользователей схемы.
declare
l_count number :=0;
begin
select count(1) into l_count from dba_tables where owner ='USER1';
dbms_output.put_line('count for user 1 is ' || l_count);
l_count := 0;
select count(1) into l_count from dba_tables where owner ='USER2';
dbms_output.put_line('count for user 2 is ' || l_count);
end;
вывод, который мы получаем: count для пользователя 1 равен 0 count для пользователя 2 равен 0
Результат, который мы получаем для тех же запросов от sql разработчик:
select count(1) from dba_tables where owner ='USER1'; --result is 5892
select count(1) from dba_tables where owner ='USER2'; --result is 6124
Заранее спасибо, было бы здорово, если бы кто-нибудь мог мне с этим помочь.