Как установить значение по УМОЛЧАНИЮ для существующего столбца Blob-объекта на EMPTY_BLOB()

#sql #oracle #blob #ddl

#sql #Oracle #большой двоичный объект #ddl

Вопрос:

Я пытаюсь изменить таблицу, добавив значение по умолчанию для столбца BLOB-объекта в базе данных Oracle следующим образом:

 ALTER TABLE TEST_TABLE
    MODIFY (BLOB_0 BLOB(4000) DEFAULT EMPTY_BLOB())
  

Но появляется следующая ошибка:

 SQL Error: ORA-00907: missing right parenthesis
  

Можно ли это сделать?

Ответ №1:

попробуйте это:

 ALTER TABLE TEST_TABLE
    MODIFY BLOB_0 DEFAULT EMPTY_BLOB() 
  

Ответ №2:

Удалить размер (4000) большого двоичного объекта:

 ALTER TABLE TEST_TABLE
    MODIFY (BLOB_0 BLOB DEFAULT EMPTY_BLOB());
  

Или просто добавьте значение по умолчанию в таблицу:

 ALTER TABLE TEST_TABLE ALTER COLUMN BLOB_0 SET DEFAULT EMPTY_BLOB()
  

Комментарии:

1. При удалении размера я получаю «Ошибка SQL: ORA-22859: недопустимая модификация столбцов»…

2. @PeetvdWesthuizen попробуйте ALTER TABLE TEST_TABLE ALTER COLUMN BLOB_0 SET DEFAULT EMPTY_BLOB()