powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Объясните логику поведения!!!
4 сообщений из 4, страница 1 из 1
Объясните логику поведения!!!
    #35910372
Albertian
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
почему я получаю эту ошибку? Столбца EXTERNAL_QQ таблицы USERS_SECURITY_QQQ несуществует, хотя сама таблица существует

1> begin
2> if exists ( select 1
3> from syscolumns c
4> where c.name = 'EXTERNAL_QQ'
5> and id = object_id('USERS_SECURITY_QQQ')
6> )
7> alter table USERS_SECURITY_QQQ drop EXTERNAL_QQ
8> end
9> go
Msg 207, Level 16, State 1:
Server 'SYB_XXXX', Line 7:
Invalid column name 'EXTERNAL_DN'.


такой вариант тоже не проходит


1> if exists ( select 1
2> from syscolumns c
3> where c.name = 'EXTERNAL_QQ'
4> and id = object_id('USERS_SECURITY_QQQ')
5> )
6> begin
7> alter table USERS_SECURITY_QQQ drop EXTERNAL_QQ
8> end
9> go
Msg 207, Level 16, State 1:
Server 'SYB_XXXX', Line 7:
Invalid column name 'EXTERNAL_QQ'.

версия :

Adaptive Server Enterprise/15.0.2/EBF 14777 ESD#1/P/Sun_svr4/OS 5.8/ase1502/2493/64-bit/FBO/Wed Aug 29 13:14:46 2007
...
Рейтинг: 0 / 0
Объясните логику поведения!!!
    #35910429
Фотография Ex_Soft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тынць
_________________
"Helo, word!" - 17 errors 56 warnings
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Объясните логику поведения!!!
    #35910563
Albertian
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ex_Soft спасибо за ответ!

пришлось применить exec()
...
Рейтинг: 0 / 0
Объясните логику поведения!!!
    #35910592
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Albertian пишет:

> почему я получаю эту ошибку? Столбца EXTERNAL_QQ таблицы

Вкратце -- потому что эта ошибка вылазиет на этапе
компиляции запроса, а компилируется всё, безусловно,
в том числе и ALTER, который потом будет условно выполняться.

Вообще, лучше писать скрипты так, чтобы любой DLL НЕ МЕШАЛСЯ
с другими операторами в одном батче, т.е. был бы единственной
коммандой в батче. Ну и проверять, что колонка есть, не обязательно --
если её нет, то она и так не удалиться. Ну, будет ошибка, так её
можно игнорировать и всё.

Также можно порекомендовать почитать это

http://www.sql.ru/faq/faq_topic.aspx?fid=247
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Объясните логику поведения!!!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]