将CLOB列更新为NULL

时间:2012-10-12 18:22:58

标签: oracle

我需要将oracle clob列值更新为null。我尝试过以下但是没有用。有任何想法吗?

update table_name 
   set CONTENT_TEMPLATE=empty_clob() 
 where table_key=12345;


Name                 Null     Type          
-------------------- -------- ------------- 
TEST_KEY            NOT NULL NUMBER(10)    
TEST_ID             NOT NULL VARCHAR2(100) 
TEST_TYPE           NOT NULL VARCHAR2(30)  
TEMPLATE_ID                   VARCHAR2(100) 
ROUTE                         VARCHAR2(100) 
MEDIUM                        VARCHAR2(100) 
BEGIN_EFFECTIVE_DATE NOT NULL DATE          
END_EFFECTIVE_DATE   NOT NULL DATE          
CUSTOMER_ID          NOT NULL VARCHAR2(30)  
VAR_ID               NOT NULL VARCHAR2(30)  
CREATION_DATE        NOT NULL DATE          
LAST_UPDATED_DATE    NOT NULL DATE          
LAST_UPDATED_BY      NOT NULL VARCHAR2(30)  
CONTENT_TEMPLATE              CLOB          
SUBJECT_TEMPLATE              CLOB          
UNIT_TYPE                     VARCHAR2(30)  
OVERLOADED_ALERT_KEY          NUMBER(10)    
ALERT_TYPE_ALIAS              VARCHAR2(100) 

1 个答案:

答案 0 :(得分:2)

update table_name 
   set column_name = null 
 where table_key=12345;

NULL - 缺乏数据

empty_clob() - CLOB已初始化且为空,与NULL不同。

如果您仍然使用此列获得ORA-01407,那么这意味着该列的NOT NULL约束为CLOB数据类型。

<强>更新

由于CLOB列不是NOT NULL,因此设置为CONTENT_TEMPLATE = NULL应该有效。 CONTENT_TEMPLATE = empty_clob()也可以使用,但要记住它与NULL不同。