oracle 将 CLOB 列更新为 NULL
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/12864946/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Update CLOB Column to NULL
提问by c12
I need to update an oracle clob column value to null
. I tried to below but that didn't work. Any ideas?
我需要将一个 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)
回答by AnBisw
update table_name
set column_name = null
where table_key=12345;
NULL
- Absense of data
NULL
- 数据缺失
empty_clob()
- CLOB
is initialized and empty, not same as NULL
.
empty_clob()
-CLOB
已初始化且为空,与NULL
.
If you still get ORA-01407
with this column then that means there is a NOT NULL
constraint on the column which is of CLOB
datatype.
如果您仍然ORA-01407
使用此列,则表示该列存在数据类型的NOT NULL
约束CLOB
。
UPDATE:
更新:
Since the CLOB
column is not NOT NULL
setting it to CONTENT_TEMPLATE = NULL
should work. CONTENT_TEMPLATE = empty_clob()
will also work, but bear in mind that it is not same as NULL
.
由于该CLOB
列未NOT NULL
将其设置为CONTENT_TEMPLATE = NULL
应该可以工作。CONTENT_TEMPLATE = empty_clob()
也可以工作,但请记住,它与NULL
.