ОПИСАТЬ через ссылку на базу данных? - PullRequest
11 голосов
/ 30 января 2009

Я пытался выполнить команду DESCRIBE через ссылку на базу данных, но это было возвращаемое сообщение:

DESCRIBE <table>@<database>;
ERROR:                               
------------------------------------ 
ERROR: object <table> does not exist 

1 rows selected

A SELECT на этом столе хорошо работает.

Разрешает ли Oracle DESCRIBE через ссылку на базу данных?

Я использую Oracle SQL Developer 1.5.1.

Edit:

Есть ли другой способ описать таблицу?

Заранее спасибо!

Ответы [ 8 ]

13 голосов
/ 30 января 2009

Вы можете сделать что-нибудь с таблицей all_tab_columns , чтобы получить некоторую информацию о таблице.

select column_name, data_type from all_tab_columns where table_name = 'TABLE_NAME';
3 голосов
/ 30 января 2009

Я думаю, что DESCRIBE - это функция SQL * Plus. Смотрите здесь .

2 голосов
/ 01 апреля 2014

Если вы сделаете выбор метаданных из all_tab_columns для этой таблицы, представленной в DBLink, она предоставит описание таблицы. Например:

выберите * из all_tab_Columns @ dblink, где table_name = 'ASDF' и owner = 'XYZ';

1 голос
/ 31 января 2009

Самый простой способ получить описание таблицы на удаленном сервере:

CREATE OR REPLACE VIEW TMP_VIEW AS SELECT * FROM TABLE_A@SERVER
/
DESCRIBE TMP_VIEW
/
1 голос
/ 30 января 2009

Вы, кажется, используете PL/SQL Developer.

DESCRIBE это не команда SQL, это псевдоним инструмента запросов, который преобразуется в серию запросов к системным таблицам.

PL/SQL Developer не может описывать таблицы из удаленных баз данных, в то время как собственные SQL*Plus могут.

0 голосов
/ 18 декабря 2013

Используя Oracle SQL Developer, я смог использовать DESCRIBE, чтобы показать определение удаленной таблицы. Однако мне пришлось использовать обозначение

опишите schema.table@database

0 голосов
/ 13 января 2012

В PL / SQL Developer вы можете щелкнуть правой кнопкой мыши имя таблицы в папке таблиц и щелкнуть по описанию ..., что дает тот же результат, что и команда описать в нативном SQL plus.

0 голосов
/ 30 января 2009

Я не могу проверить это прямо сейчас, но, возможно, select * from v $ tables @ remotedb не дает подобную информацию?

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