更改表 - 为 COLUMN 类型 BLOB 添加默认值

Tom*_*Tom 3 sql blob alter oracle10g

执行以下 SQL 会出现此错误。

alter table TABLE_NAME ADD FILE_DATA BLOB NULL default 'EMPTY_BLOB()'
Run Code Online (Sandbox Code Playgroud)

从命令第 37 行开始出错:alter table TABLE_NAME ADD FILE_DATA BLOB NULL default 'EMPTY_BLOB()' 错误报告:SQL 错误:ORA-30649:缺少 DIRECTORY 关键字 30649.0000 - “缺少 DIRECTORY 关键字”
*原因:缺少 DEFAULT 或 DIRECTORY 子句.
*操作:提供默认目录。

有人可以帮我吗?

我可以创建一个新的 TYPE BLOB 列,或者我可以转换作为具有 DEFAULT 值的 VARCHAR 创建的同一列 - 然后将类型更改为 BLOB 。但我不能他们中的任何一个。

Jus*_*ave 5

假设您希望默认值是一个空的 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.
Run Code Online (Sandbox Code Playgroud)