Изменить таблицу - добавить значение по умолчанию для типа BLOB типа COLUMN - PullRequest
2 голосов
/ 14 июля 2011

Выполнение приведенного ниже SQL дает эту ошибку.

alter table TABLE_NAME ADD FILE_DATA BLOB NULL default 'EMPTY_BLOB()'

Ошибка запуска в строке 37 в команде: изменить таблицу TABLE_NAME ADD FILE_DATA BLOB NULL по умолчанию «EMPTY_BLOB ()» Отчет об ошибке: ошибка SQL: ORA-30649: отсутствует ключевое слово DIRECTORY 30649.0000 - «отсутствует ключевое слово DIRECTORY»
* Причина: предложение DEFAULT DIRECTORY отсутствует или неверно.
* Действие: укажите каталог DEFAULT.

Может кто-тоПомоги мне ?

Я могу либо создать новый столбец TYPE BLOB, либо я могу преобразовать тот же столбец, созданный как VARCHAR со значением DEFAULT, а затем изменить тип на BLOB.Но я не в состоянии ни один из них.

1 Ответ

4 голосов
/ 14 июля 2011

Если вы хотите, чтобы значением по умолчанию был пустой BLOB, а не строка 'EMPTY_BLOB ()', вам просто нужно удалить кавычки

SQL> create table new_table (
  2    col1 number
  3  );

Table created.

SQL> alter table new_table
  2    add( file_data blob default empty_blob() );

Table altered.
...