oracle clob为空,oracle如何向空表中添加一個類型為clob的非空列

本文详细介绍了在Oracle数据库中处理CLOB类型列的操作步骤,包括如何添加非空CLOB列、更新为非空值、修改列类型以及遇到ORA-22296错误的解决方法。此外,还提供了删除列名带空格的列以及重命名列的SQL语句示例,对于数据库管理和维护具有实际指导意义。
摘要由CSDN通过智能技术生成

一般的添加非空列的步驟是:先add可以為空的列,然后update該列為一個值(比如0),最后modify該列的類型

但是遇到類型為clob的就不行了。在modify這步時報錯:ORA-22296:invalid ALTER TABLE option for conversion of Long datatype to LOB,於是去找了下22296錯誤的詳細信息:(http://docs.oracle.com/cd/E11882_01/server.112/e17766/e19999.htm#ORA-24230)

Cause: An attempt was made to specify ALTER TABLE options which are disallowed during conversion of LONG datatype to LOB. The only ALTER TABLE options allowed during conversion of LONG datatype to LOB are the default clause and LOB storage clause for the column being converted to LOB.

Action: Remove the disallowed options.

解決辦法:

在update這步執行:update tableName set colName = empty_clob();

在modify這步執行:alter table tableName modify (colName not null);//不是colName clob not null,這和一般的modify是不同的!!!

示例:

alter table post_info add  ( POST_CONTENT CLOB);

update post_info set post_content = empty_clob();

alter table post_info modify (POST_CONTENT not null);

COMMENT ON COLUMN "DBVOP"."POST_INFO"."POST_CONTENT" IS

'通告內容';

commit;

---------------另外:如何將not null 的clob類型的類變為null的列

語法:alter table tableName modify colName null ;

注:EMPTY_BLOB()和EMPTY_CLOB()函數是用來對大數據類型字段進行初始化操作的。

-----------------如何刪除列名帶空格的列

alter table  cplnt_workorder drop column "CLIENT_ ISSUE"  ;

-----------------如何修改列名

alter table  cplnt_workorder rename column "CLIENT_ ISSUE1" to CLIENT_ ISSUE ;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值