Разница команд cat Vs вкладка в sqlplus - PullRequest
0 голосов
/ 29 ноября 2018

Я использую SQL плюс.Мне нужно знать разницу между двумя командами.

SELECT * FROM cat

и

SELECT * FROM tab;

Любая помощь будет оценена.спасибо

1 Ответ

0 голосов
/ 29 ноября 2018

Они оба являются частью словаря данных и PUBLIC SYNONYMNS для соответствующих SYS таблиц / представлений.

SELECT object_name,
       owner,
       object_type
FROM all_objects
WHERE object_name IN (
     'CAT',
     'TAB'
);

OBJECT_NAME         OWNER             OBJECT_TYPE  
------------------- ----------------- -------------
TAB                 SYS               VIEW         
TAB                 PUBLIC            SYNONYM      
CAT                 PUBLIC            SYNONYM      

Сами по себе VIEWS под именами USER_CATALOG и TAB.

SELECT owner,
       synonym_name,
       table_name
FROM all_synonyms
WHERE synonym_name IN (
     'TAB',
     'CAT'
);

OWNER                  SYNONYM_NAME            TABLE_NAME   
---------------------- ----------------------- -------------
PUBLIC                 CAT                     USER_CATALOG 
PUBLIC                 TAB                     TAB          
SYSTEM                 TAB                     TAB          

Если вы хотите увидеть, из каких таблиц / представлений словаря данных выбираются эти VIEW s, вы можете запустить

SELECT view_name,text_vc
FROM all_views
WHERE view_name IN ('TAB', 'USER_CATALOG');

Примечание : ДжастинCave здесь говорит, что "tab - это древняя таблица словаря данных, которую никогда не следует использовать. Она существует исключительно для обеспечения обратной совместимости для сценариев, которые были написаны потенциально десятилетия назад."

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...