Различия между SQL Plus и «обычным» SQL? - PullRequest
4 голосов
/ 15 июля 2009

Я новичок в платформе Oracle (в основном использовал MySQL, с небольшим количеством Postgres и SQL Server). Я недавно обнаружил следующую запись

DESC TABLE_NAME;

будет работать только в инструменте SQL * Plus, который я использую для проверки своих запросов. Это НЕ будет работать, когда я использую стандартные функции PHP для подключения к базе данных Oracle. Мне нужно использовать что-то вроде

SELECT * FROM USER_TAB_COLUMNS WHERE TABLE_NAME = 'TABLE_NAME'

вместо.

Насколько я понимаю, это связано с тем, что атрибут "DESC" является надстройкой в ​​приложении SQL * Plus.

Мои вопросы

  1. Правильно ли мое понимание или происходит что-то более тонкое?
  2. Какие еще специальные дополнения есть в SQL * Plus?
  3. Есть ли способ отключить эти специальные дополнения, пока я подхожу к скорости на Oracle?
  4. Любой другой общий совет для новичка Oracle от ветеранов платформы приветствуется.

1 Ответ

11 голосов
/ 15 июля 2009
  1. Да. SQL * Plus - это клиентский инструмент. SQL - это то, что на самом деле запускается на сервере.
  2. Документация для SQL * Plus - здесь и здесь Многие из "расширений" связаны с презентацией (например, насколько широкий ваш экран)
  3. Не совсем в SQL * Plus. Если вы долго используете SQL * Plus, вы скоро обнаружите, что действительно НУЖНЫ изменить размер строки по умолчанию, размер страницы, размеры столбцов, форматирование чисел ...
  4. Лично, хотя хорошо знать, как работать в SQL * Plus, один из инструментов клиента GUI может быть намного проще. Лично я использую SQL Squirrel для большинства вещей, и мой любимый редактор и SQL * Plus для разработки программ на PL / SQL.
...