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

发布于 2024-11-23 18:44:26 字数 485 浏览 1 评论 0原文

执行下面的 SQL 会出现此错误。

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

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

有人可以帮我吗?

我可以创建 TYPE BLOB 的新列,也可以将创建为具有 DEFAULT 值的 VARCHAR 的同一列转换 - 然后将类型更改为 BLOB 。但我无法做到其中任何一个。

Executing the below SQL is giving this error .

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

Error starting at line 37 in command: alter table TABLE_NAME ADD
FILE_DATA BLOB NULL default 'EMPTY_BLOB()' Error report: SQL Error:
ORA-30649: missing DIRECTORY keyword
30649.0000 - "missing DIRECTORY keyword"
*Cause: DEFAULT DIRECTORY clause missing or incorrect.
*Action: Provide the DEFAULT DIRECTORY.

Could someone help me out ?

I can either create a new column of TYPE BLOB , or I can convert the same column created as a VARCHAR with DEFAULT value - and then change the type to BLOB . But I am not able to either of them .

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

开始看清了 2024-11-30 18:44:26

假设您希望默认值为空 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.

Assuming you want the default value to be an empty BLOB rather than the string 'EMPTY_BLOB()', you'd just need to remove the quotes

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.
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文