我需要将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)
答案 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
不同。