2014-04-04 3 views
1

Мы хотим изменить тип столбца от smallint до десятичного. Оператор sql «alter table» передается на сервере UAT db, но сбой на рабочем сервере. DBA предполагает, что это может быть связано с ограничением по умолчанию для столбца, но это все, что мы получили.sybase: не удалять значение по умолчанию для столбца

Прежде чем изменять тип столбца, я хочу отказаться от значения по умолчанию.

Я попробовал этот SQL заявление:

alter table MyTable alter MyColumn drop default 

Но я получил сообщение об ошибке:

Error: Incorrect syntax near the keyword 'alter'. 

SQLState: ZZZZZ 
ErrorCode: 156 

Что не так с этим синтаксисом? Целевая БД 15,5

Я использовал this в качестве ссылки синтаксиса

+0

Вы ссылаетесь документы IQ Sybase, но я не помню версию IQ 15.5. Можете ли вы подтвердить, что это IQ, а не ASE или SQLAnywhere? –

+0

Это не Sybase IQ. Извините, документация sybase всегда была довольно запутанной для меня. Я, вероятно, искал неправильный источник –

+0

Привет, если вы нашли мой ответ полезным, обязательно примите его. Благодарю. –

ответ

2

Я собираюсь предположить, что вы можете использовать Sybase ASE, учитывая номер версии вы перечислили, и тот факт, что синтаксис IQ Sybase дал вам сообщение об ошибке.

Для SAP Sybase ASE вы потеряли значение по умолчанию с помощью команды sp_unbindefault.

sp_unbindefault 'MyTable.MyColumn' 

Документация: Adaptive Server Enterprise 15.5 > Reference Manual: Procedures > System Procedures

Смежные вопросы