Почему таблица не может быть указана в базе данных Oracle?

#oracle

#Oracle

Вопрос:

в базе данных oracle на сервере linux;

 desc table_x; =gt; getting data select * from table_x; =gt; getting data SELECT table_name from all_tables; =gt; it is not in the list  

Как я могу сделать так, чтобы эта таблица появилась в списке?

Спасибо.

Комментарии:

1. Предложения Литтлфута являются вероятными виновниками, но мне также интересно, можете ли вы просто искать в списке «table_x» в нижнем регистре, чтобы соответствовать тому, как вы его запрашиваете, и он находится в списке как «TABLE_X» — что нормально для идентификатора без кавычек.

2. Проверять ALL_OBJECTS

Ответ №1:

Похоже, что это не таблица, в которой содержится all_tables . Тогда в чем же дело?

Может быть синонимом, так что попробуйте

 select * from all_synonyms where synonym_name = 'TABLE_X';  

Или, вид:

 select * From all_views where view_name = 'TABLE_X';  

Комментарии:

1. спасибо за ответ, но не решил мою проблему.

2. Я предполагаю, что проблема в том, что список таблицы каким-то образом заблокирован. Если это проблема, как мне ее преодолеть?

3. Не должно быть заблокировано . Попробуйте запросить ALL_OBJECTS и посмотреть, что это на самом деле.

4. SQLgt; выберите * из всех_объектов, где имя объекта, например » %table_x%»; строки не выбраны SQLgt;gt; SQLgt;gt;gt; desc table_x; Имя Null? Тип ———————— НОМЕР col1 НОМЕР col2 НОМЕР col3 НЕ НУЛЕВОЙ НОМЕР col4 НОМЕР col5 НЕ НУЛЕВОЙ НОМЕР

5. Попробуйте where upper(object_name) like '%TABLE_X%' , потому что имена объектов обычно хранятся в верхнем регистре.