Ошибка Oracle SQL * Plus с пустыми строками и многострочными комментариями - PullRequest
4 голосов
/ 17 августа 2011

Я пытаюсь выполнить запрос с SQL * Plus (командная строка), который является VIEW. SQL * Plus не поддерживает новые строки или многострочные комментарии (/ * - * /).

Когда я запускаю set sqlblanklines on, возвращается ошибка:

SQL> set sqlblanklines on
unknown SET option beginning "sqlblankli...".

Итак, я запустил 'help set', и он говорит, что команда sqlblanklines (со звездочкой) не поддерживается isql, но я действительно использую SQL * Plus.

Я не знаю, как от этого избавиться, я пару дней жарил свой мозг ...

спасибо в adv !!!


Подробнее

Версия 8.0.6.0.0.

Я запускаю скрипт из файла. Это показывает много ошибок, как это:

SQL> start /tmp/sql/pti/APPS.DIBVWIP001.sql 

Ошибки похожи на

   unknown command beginning "and msi.i..." - rest of line ignored. 
   unknown command beginning "and msi.o..." - rest of line ignored. 
   unknown command beginning "and bic.c..." - rest of line ignored. 
   unknown command beginning "and bbm.b..." - rest of line ignored. 
   For a list of known commands enter HELP and to leave enter EXIT. 

Перед этим блоком есть пустая строка ... в этом все дело. Я не могу удалить пустые строки из сценариев.

1 Ответ

3 голосов
/ 17 августа 2011

Вы работаете с древней версией программного обеспечения. Так что не стоит смотреть на современную версию руководства. Если вы обратитесь к Руководству пользователя SQL * Plus для Oracle 8.0.5 , вы обнаружите, что SET не поддерживает SQLBLANKLINES, о чем сообщалось в сообщении об ошибке.

Я не уверен, почему многострочные комментарии приносят вам горе: в соответствии с документацией, которая должна поддерживаться. Однако SQL * Plus - особенно старые версии - чувствителен к тому, где мы размещаем комментарии. Он не любит комментарии, которые слишком рано помещаются в команду DDL. Так что, если вы делаете что-то вроде этого ...

create  
/*  this is a comment
    which spans several lines
    oh yes
*/
or replace view my_view as select * from dual
/

... у вас могут возникнуть проблемы (хотя в 11g он работает нормально).

...