Конференция "Базы" » Почему не выполняется запрос
 
  • Разведка (16.10.12 01:15) [0]
    Подключился к СУБД ORCLE пытаюсь выполнить запрос "DESC DEPARTMENTS" на вывод структуры таблицы. Возвращается  ошибка ORA-00900: Invalid SQL statement, тоже самое ввожу с SQLPlus возвращается нормальный результат.
    В чем причина?
  • AV © (16.10.12 08:39) [1]
    забыл почему,
    юзайте

    select *
    from user_tab_columns
    where table_name = 'OW_TMP_PAYMENT2_PLS_CORR_09'

    полнее описание
  • AV © (16.10.12 08:41) [2]
  • Ega23 © (16.10.12 09:11) [3]

    >  пытаюсь выполнить запрос "DESC DEPARTMENTS"

    Потому что это только часть запроса
  • AV © (16.10.12 09:30) [4]

    > Ega23 ©   (16.10.12 09:11) [3]

    это не дистинкт :)
  • AV © (16.10.12 09:38) [5]
    тьфу, не сортировка
    это - "описать"
    DESC[RIBE]

    там как-то не так надо писать, тоже не получалось как-то, потом нашел как можно, потом забыл :)
    Потому что посоветовали через
    user_tab_columns делать
    А, и на самом деле, так лучше

    например,
    select CC.COMMENTS, C.COLUMN_NAME, C.DATA_TYPE, C.DATA_LENGTH, C.NULLABLE, C.NUM_NULLS
     from all_tab_columns C
     left join ALL_COL_COMMENTS CC on CC.TABLE_NAME = C.TABLE_NAME and CC.COLUMN_NAME = C.COLUMN_NAME
    where C.table_name = 'K_UPATS'

    Тут и все что есть в DESC,
    + комментарии к столбцам,    
    + NUM_NULLS - сколько значений нуловых в этом поле, сразу понятно, какой ключ лучше юзать
    + там еще min|max значения есть по полю
    (это все при сборе статистики, вроде обновляется, т.е. не факт, что 100%% так, но очень близко)
    все равно, короче, профит гораздо больший
  • Ega23 © (16.10.12 10:55) [6]
    Жуть с ружьём этот ваш орасл.
  • Разведка (17.10.12 01:29) [7]

    > Ega23 ©   (16.10.12 10:55) [6]
    > Жуть с ружьём этот ваш орасл.


    Мы не выбираемым так преподают, так построены задания на лабы и не убежать.
    Просто хочу получить бонус и автомат на экзамене. сделал интерфейс к лабам и список лаб .далее выбираем лабу там готовый запрос, жамкаем кнопку и в окошечке получаем результат и все наглядно никаких  консолей SQL*Plus.
    Стал делать все по заданию, а оно никак.. Показал преподавателю, она про такие вещи и понятия не имеет, чего оно у меня не работает.
  • Германн © (17.10.12 02:26) [8]

    > Стал делать все по заданию, а оно никак..

    Чтобы получить автомат на экзамене нужно знать предмет!
  • Разведка (17.10.12 02:54) [9]

    > Германн ©   (17.10.12 02:26) [8]
    > > Стал делать все по заданию, а оно никак..Чтобы получить
    > автомат на экзамене нужно знать предмет!<Цитата>


    Ведь меня не интересовало как еще можно сделать это я и ранее у же выяснил, меня интересовало почему это DESC DEPARTMENTS не выполняется, а SQL*Plus выполняется?
  • Разведка (17.10.12 04:46) [10]

    > Германн ©   (17.10.12 02:26) [8]


    Я думаю, что автомат все таки будет ну в крайнем случае в зачет пойдет
    за я так полагаю за оригинальность выполнения лаб
    http://www.fotolink.su/v.php?id=5135e5c6f17d3bbe9a9333cfc7c74c65
  • Разведка (17.10.12 04:54) [11]

    > Разведка   (17.10.12 04:46) [10]

    http://s019.radikal.ru/i628/1210/25/0c8c7a424faf.jpg
  • Медвежонок Пятачок © (17.10.12 09:16) [12]
    меня интересовало почему это DESC DEPARTMENTS не выполняется, а SQL*Plus выполняется?

    есть вещи, которые катят в контексте plsql но не катят в sql.
    есть случаи когда наоборот.

    твой случай - desc, это ни в sql ни в plsql не катит, так как это вообще не запрос а служебная команда.
  • Sergey13 © (22.10.12 11:02) [13]
    >В чем причина?
    В том, что "DESC DEPARTMENTS" это не SQL-запрос, а команда SQLPlus, если мне память не изменяет.
  • Игорь Шевченко © (29.11.12 22:11) [14]

    > В чем причина?


    в глупости
 
Конференция "Базы" » Почему не выполняется запрос
Есть новые Нет новых   [119511   +0][b:0][p:0.001]