Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 ORA-00933: SQL command not properly ended  [new]
zhez
Member

Откуда:
Сообщений: 256
sql_view:='CREATE OR REPLACE FORCE VIEW DDD.' || upper(name_dic) ||
и т.д.
до этого блока comment on table ' || upper(name_dic) || ' is ' || name_descript || ''; работает если его включить он пишет

EXECUTE IMMEDIATE sql_view;

Error report:
ORA-00933: SQL command not properly ended
ORA-06512: at line 61
00933. 00000 - "SQL command not properly ended"

В чем проблема? Подскажите плиз
16 фев 11, 12:28    [10244074]     Ответить | Цитировать Сообщить модератору
 Re: ORA-00933: SQL command not properly ended  [new]
tru55
Member

Откуда: СПб
Сообщений: 19790
Во-первых, COMMENT - это отдельная команда DDL.
Во-вторых, где ты видел COMMENT на view?
16 фев 11, 12:44    [10244314]     Ответить | Цитировать Сообщить модератору
 Re: ORA-00933: SQL command not properly ended  [new]
zhez
Member

Откуда:
Сообщений: 256
Согласен, но все таки для вью пишется оказывается коммент.

Я сделал отдельно
sql_comment:='comment on table ' || upper(name_dic) || ' is ' || name_descript || '';
EXECUTE IMMEDIATE sql_comment;

ORA-01780: string literal required
ORA-06512: at line 62
01780. 00000 - "string literal required"
16 фев 11, 13:01    [10244495]     Ответить | Цитировать Сообщить модератору
 Re: ORA-00933: SQL command not properly ended  [new]
tru55
Member

Откуда: СПб
Сообщений: 19790
zhez
Согласен, но все таки для вью пишется оказывается коммент.

Откуда видно что пишет?
Попробуй без всякого EXECUTE и PL/SQL просто выдать командочку в SQL*Plus или другом инструменте
16 фев 11, 13:09    [10244594]     Ответить | Цитировать Сообщить модератору
 Re: ORA-00933: SQL command not properly ended  [new]
env
Member

Откуда: Россия, Москва
Сообщений: 6723
tru55
Во-первых, COMMENT - это отдельная команда DDL.
Во-вторых, где ты видел COMMENT на view?

SQL> create view killme_v4 as select    from  ;

View created.

Elapsed: 00:00:00.04
SQL> comment on table killme_v4 is 'Nothing special';

Comment created.

Elapsed: 00:00:00.01
SQL> select * from user_tab_comments;

TABLE_NAME                     TABLE_TYPE  COMMENTS
------------------------------ ----------- -------------------TABLE
temp db                        TABLE
ORA-00942: Table or view do... TABLE
KILLME_T                       TABLE
                               TABLE
KILLME_V4                      VIEW        Nothing special
CLIENT_IP                      VIEW
KILLME_V                       VIEW
V$PARAMETER                    VIEW
LV_TEST                        VIEW

11 rows selected.

Elapsed: 00:00:00.06
16 фев 11, 13:17    [10244682]     Ответить | Цитировать Сообщить модератору
 Re: ORA-00933: SQL command not properly ended  [new]
Exad
Member

Откуда:
Сообщений: 17
кавычек не хватает
zhez
sql_comment:='comment on table ' || upper(name_dic) || ' is ''' || name_descript || '''';
EXECUTE IMMEDIATE sql_comment;
16 фев 11, 13:20    [10244703]     Ответить | Цитировать Сообщить модератору
 Re: ORA-00933: SQL command not properly ended  [new]
zhez
Member

Откуда:
Сообщений: 256
Дело в том что в качестве параметра я передаю имя таблицы. Поэтому явно не могу писать имя таблицы.
Кстати
sql_comment:='comment on table ' || upper(name_dic) || ' is ''' || name_descript || '''';
EXECUTE IMMEDIATE sql_comment;
тоже не работает. Попробвал поменять sql_comment:='comment on table "' || upper(name_dic) || '" is ''' || name_descript || '''';
В обоих случаях пишет

ORA-00942: table or view does not exist
ORA-06512: at line 63
00942. 00000 - "table or view does not exist"
16 фев 11, 13:51    [10244993]     Ответить | Цитировать Сообщить модератору
 Re: ORA-00933: SQL command not properly ended  [new]
SQLap
Member [заблокирован]

Откуда:
Сообщений: 34063
zhez,

вместо execute immediate попробуй

dbms_output.put_line(sql_comment);
может, поможет
16 фев 11, 14:05    [10245123]     Ответить | Цитировать Сообщить модератору
 Re: ORA-00933: SQL command not properly ended  [new]
zhez
Member

Откуда:
Сообщений: 256
Еще один вопрос как можно посмотреть значение sql_comment на экране. Пользуюсь Oracle SQL Developer. DBMS_OUTPUT.put_line не работает, ошибку даже не выдает.
16 фев 11, 14:08    [10245167]     Ответить | Цитировать Сообщить модератору
 Re: ORA-00933: SQL command not properly ended  [new]
Вячеслав Любомудров
Member

Откуда: Владивосток
Сообщений: 18484
env
SQL> select * from user_tab_comments;

TABLE_NAME                     TABLE_TYPE  COMMENTS
------------------------------ ----------- -------------------
temp db                        TABLE
О, у тебя тоже есть эта табличка
17 фев 11, 02:18    [10248780]     Ответить | Цитировать Сообщить модератору
 Re: ORA-00933: SQL command not properly ended  [new]
zhez
Member

Откуда:
Сообщений: 256
Спасибо всем
Заработала по комментарию
Exad

Откуда:
Сообщений: 2 кавычек не хватает
zhez
sql_comment:='comment on table ' || upper(name_dic) || ' is ''' || name_descript || '''';
EXECUTE IMMEDIATE sql_comment;

Здесь надо было поправить

sql_comment:='comment on table GGG.' || upper(name_dic) || ' is ''' || name_descript || '''';
EXECUTE IMMEDIATE sql_comment;
17 фев 11, 09:01    [10249126]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить